2015-01-02 2 views
0

엑셀 시트에서 파일 목록을 가져 와서 데이터를 추출하려면 단위 테스트 케이스를 작성하고 있습니다. 이 문서를 다음이 지금 현재 잘 작동 http://www.codeproject.com/Tips/629895/Data-Driven-Testing-by-Excel-Named-RegionTestInitialize에 대한 목록을 가져 와서 데이터 기반 테스트 케이스에 사용하십시오.

[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

글쎄, 당신은 종류의 대답을 직접 제공 : '클래스 수준 변수 또는 뭔가 데이터 소스의 저장 위치에서 데이터 가져 오기'.

이 전역 변수 접근 방식이 작동하는 것 같습니다.

[TestClass] 
public class Example1Test 
{ 
    public int GlobalIntTest = 42; 

    [TestMethod] 
    public void MyTestMethod() 
    { 
     //do something with the global variable 
    } 
}