xunit은 복잡한 매개 변수를 [이론] 방법으로 전달하기위한 몇 가지 옵션을 제공합니다. 한 가지 방법은 MemberData 속성을 사용하는 것입니다. 이 속성은 Xunit에게 ienumerable 을 반환하는 속성을 실행하도록 지시합니다. ienumerable의 각 객체 []는 [이론] 메소드에 대한 단일 호출의 매개 변수로 "포장되지 않은"것입니다.
다른 옵션은 classData 속성을 사용하는 것입니다. ClassData는 MemberData와 유사하게 작동하지만 다른 클래스 또는 네임 스페이스의 테스트간에 데이터 생성기를 공유 할 수 있습니다. 또한 실제 테스트 방법과 '데이터 생성기'를 분리합니다.
ClassData 예제
public class IndexOfData
{
public static IEnumerable
public class IndexOfData
{
public static IEnumerable SplitCountData =>
new List
{
new object[] { "hello world", 'w', 6 },
new object[] { "goodnight moon", 'w', -1 }
};
}
.
{
public static ienumerable splitCountData =>
새 목록
{
새로운 개체 [] { "Hello World", 'W', 6},
새로운 개체 [] { "굿나잇 달", 'w', -1}
};
}
테스트 클래스에서 [이론] 속성을 적용하고 속성의 멤버 타입 속성을 사용하여 정적 멤버를 지정할 수 있습니다.
public void indexof (문자열 입력, 숯 문자, int expect) {...} 이러한 속성을 활용하여 복잡한 매개 변수를 [이론] 메소드에 전달하여 다양한 시나리오를 효율적으로 테스트 할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오.
최대한 빨리 처리해 드리겠습니다.