打开excel,输入测试数据如下图:
保存为Excel 97-2003 Workbook(.xls)格式,存于测试project的bin\debug目录下。
下面是单元测试代码:
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:\DataDrivenTestDemo\TestProject\bin\Debug\SalesAndSalary.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.
执行该测试用例,得如下测试结果: