내가 매개 변수 중 하나가 배열을TestCase에 표시 이름이
private static readonly object[] ReturnChopCases =
{
new TestCaseData(3, new List<int> {}).Returns(-1),
new TestCaseData(3, new List<int> {1}).Returns(1),
new TestCaseData(1, new List<int> {1,2}).Returns(1),
};
[TestCaseSource("ReturnChopCases")]
public int test_chop(int SearchNumber, int[] SearchArray)
{
return Chopper.Chop(3, SearchArray);
}
문제가되는 여러 테스트를 실행 NUnit를에 TestCaseSource
를 사용하려고하면 테스트 러너에 표시되는 이름 (이다 나는 NUnit 테스트 어댑터를 사용하고있다.) 꽤 쓸모가 없다. 그들은 모두 test_chop(0,System.Int32[])
또는 List
을 사용한다면 test_chop(0,System.Collections.Generic.List`1[System.Int32])
으로 표시한다.
어떻게하면 쉽게 읽을 수있는 테스트를 유지하고 테스트 러너의 테스트에 유용한 테스트 이름을 부여 할 수 있습니까? 나는 몇 가지 시도를했지만 여전히 위에서 언급 한 이름을 얻는다.
'.SetName ("your name")'을 붙이면 테스트에 명시 적으로 이름을 붙일 수 있습니다. 당신은 좀 더 자동적 인 것을 찾고 있을지도 모른다. –
네, 실제로 어레이와 관련해서는 더 잘하지 못한다는 사실에 놀랐습니다. '.SetName ("")'이 가장 좋은 옵션처럼 보이거나이 테스트의 이름을 전달하는 메소드를 작성할 수 있습니다. –