打开excel,输入测试数据如下图:

  保存为Excel 97-2003 Workbook(.xls)格式,存于测试project的bindebug目录下。

  下面是单元测试代码:

using System;
using CalculateSalaryProject;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace TestProject
{
    [TestClass]
    public class UnitTest2
    {
        private TestContext testContextInstance;
        public TestContext TestContext
        {
            get { return testContextInstance; }
            set { testContextInstance = value; }
        }

        [TestMethod]
        [DeploymentItem("SalesAndSalary.xls")]
        [DataSource(
            "System.Data.Odbc",
            @"Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=D:DataDrivenTestDemoTestProjectinDebugSalesAndSalary.xls;DefaultDir=.",
            "Sheet1$",
            DataAccessMethod.Sequential)]
        public void GetSalaryBySalesDataDrivenTest()
        {
            int sales = Int32.Parse(TestContext.DataRow["sales"].ToString());
            Program program = new Program();
            double actualSalary = program.GetTotalSalaryBySales(sales);
            double expectedSalary =Double.Parse(TestContext.DataRow["expectedSalary"].ToString());
            Assert.AreEqual(expectedSalary, actualSalary);
        }
    }
}

  另外,需要在测试project中添加引用System.Data.

  执行该测试用例,得如下测试结果: