문자열 매개 변수를 사용하여 일련의 단위 테스트에 대한 변형을 생성하는 단일 함수가 있습니다. factory 애트리뷰트 (또는 몇 가지 대체 메소드)를 사용하려면 어떻게해야합니까?mbunit 팩토리 메서드에 문자열 매개 변수를 전달하는 방법은 무엇입니까?
Gallio/mbUnit과 함께 자동화 된 테스트 프레임 워크를 사용하고 있습니다.
문자열 매개 변수를 사용하여 일련의 단위 테스트에 대한 변형을 생성하는 단일 함수가 있습니다. factory 애트리뷰트 (또는 몇 가지 대체 메소드)를 사용하려면 어떻게해야합니까?mbunit 팩토리 메서드에 문자열 매개 변수를 전달하는 방법은 무엇입니까?
Gallio/mbUnit과 함께 자동화 된 테스트 프레임 워크를 사용하고 있습니다.
[TestFixture]
public class SampleFixture
{
[Column("123", "456")]
private string parameter; // Causes the fixture to be run once for each value.
public IEnumerable<string> GetData()
{
yield return "abc" + parameter;
yield return "def" + parameter;
yield return "ghi" + parameter;
}
[Test, Factory("GetData")]
public void MyDataDrivenTest(string text)
{
TestLog.WriteLine(text);
}
}
당신은 Gallio wiki에서 data-driven tests 대한 기사를 읽고 할 수 있습니다. [Row]
, [Column]
및 MbUnit을 사용하여 데이터 기반 테스트를 만드는 데 유용한 다른 기능을 사용하는 방법에 대한 예제가 많이 있습니다.
업데이트 : 위의 예제에서 필자는 출고시의 데이터를 외부 매개 변수와 연결했습니다. 따라서 테스트는 6 번 실행됩니다 ("abc123", "def123", "ghi123", "abc456", "def456"및 "ghi456"). 그러나 다른 방법으로 매개 변수를 사용할 수 있습니다. GetData
의 전체 동작 수정과 같은
감사합니다. 하지만 내 질문에 어떻게 귀하의 예제에서 GetData 메서드에 문자열을 테스트 데이터로 반환할지 결정할 수 있습니다 전달하는 것입니다. – tgiphil
나는 정확하게 이해할 수 없다. GetData는 원하는대로 반환 할 수 있으며 반드시 수익률 반환 목록은 아닙니다. 예를 들어 저장소, 사용자 지정 생성기 또는 모든 종류의 데이터 팩터와 같은 외부 데이터 소스에서 데이터를 가져올 수 있습니다. 어쩌면 당신은 당신이 달성하기를 원하는 것을 제공 할 수 있습니다. 문자열 매개 변수의 출처는 어디입니까? 사용자 입력, 데이터베이스, 설정 파일? –
문자열을 받아들이고 단위 테스트를 위해 IEnumerable