2012-03-09 4 views
1

방법 몇 가지 테스트에 [RowTest] 속성을 다시 사용하려면

모든 행이 두 테스트에 속성을 중복되지 않도록 할 수있는 방법이 있나요 속성 행()을 사용하여 서버의 동일한 목록을이 개 시험이있다?

[RowTest] 
[Row("server1")] 
[Row("server2")] 
[Row("server3")] 
public void Test1(string server) 
{ 
    //try connecting on port 
} 

[RowTest] 
[Row("server1")] 
[Row("server2")] 
[Row("server3")] 
public void Test2(string server) 
{ 
    //ping server 
} 

답변

1

예. 테스트 케이스의 소스를 정의 할 수 있습니다. 소스는 메소드, 필드 또는 특성 일 수 있으며 정적 또는 인스턴스 일 수 있습니다. 요구 사항은 소스가 IEnumberable 또는이를 구현하는 다른 유형을 리턴해야한다는 것입니다. 물론 소스는 사용자의 요구 사항 인 여러 테스트 방법에 대해 재사용 할 수 있습니다.

TestCaseSourceAttribute을 사용하여 메서드를 꾸미면 테스트 사례의 소스를 나타냅니다. 아래 스 니펫은 내가 제공 한 링크의 예입니다. 또한

static int[] EvenNumbers = new int[] { 2, 4, 6, 8 }; 

[Test, TestCaseSource("EvenNumbers")] 
public void TestMethod(int num) 
{ 
    Assert.IsTrue(num % 2 == 0); 
} 

NUnit과의 최신 혼란 스럽다에서이 질문에 대한 자세한 내용은 방문에 대한 행 또는 RowTest 속성입니다 고려 : What happended to nunit extensions/rowtest?

관련 문제