我正在编写一个单元测试用例来获取excel表中的文件列表并从中提取一些数据。 在这篇文章之后:http://www.codeproject.com/Tips/629895/Data-Driven-Testing-by-Excel-Named-Region
[DataSource("System.Data.Odbc", "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\\quovantis.git\\kmu\\InputManagement\\KMU.Factoring.Service.Test\\TestData\\TestCasesReferenceData.xls;", "Sheet2$", DataAccessMethod.Sequential)]
[TestMethod]
public void DataDrivenInvoiceCheck()
{
int clientId = Convert.ToInt32(TestContext.DataRow["ClientId"]);
//Validate stuff
}
截至目前,此工作正常。 但是,我想在使用TestInitialize属性的方法中为多个测试填充此数据,并且正在寻找一种方法将数据存储在List或其他内容中并对其进行迭代。
例如:
[DataSource("System.Data.Odbc", "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:\\TestCasesReferenceData.xls;", "Sheet2$", DataAccessMethod.Sequential)]
[TestInitialize]
void GetDataFromDataSource()
{
//Get the Data from the data source store it in a class level variable or something
}
[TestMethod]
void TestMethod1()
{
//Use Data brought from above (Data Driven Test Case)
}
[TestMethod]
void TestMethod2()
{
//Use Data brought from above (Data Driven Test Case)
}
答案 0 :(得分:0)
嗯,您可以自己给出答案:'从数据源获取数据将其存储在类级变量或其他内容中。
这种全局变量方法似乎有效。
[TestClass]
public class Example1Test
{
public int GlobalIntTest = 42;
[TestMethod]
public void MyTestMethod()
{
//do something with the global variable
}
}