1
2 또는 4와 같은 모든 기대 값에 대해이 값을 단위 테스트 메서드의 매개 변수로 전달하고 싶습니다. 그러나 매개 변수가 올바르지 않다는 예외가 있습니다. countExpected 매개 변수를 제거하면 유닛 테스트가 잘 실행됩니다. countWrite를 어설 션 할 수 없습니다.nunit 및 TestCaseSource 및 TestCaseData를 사용하여 복잡한 행 테스트 설정
이 시나리오는 NUnit에서 모두 가능합니까?
[Test, TestCaseSource("VisibleWeekDays")]
public void Test(DayOfWeek[] visibleWeekDaysSetup, int countExpected)
{
// ARRANGE
// ACT
// ASSERT
Assert.That(periods.Count(),Is.EqualTo(countExpected));
}
private static IEnumerable<TestCaseData> VisibleWeekDays
{
get
{
yield return new TestCaseData(new DayOfWeek[] {DayOfWeek.Sunday}).Returns(2);
yield return new TestCaseData(new DayOfWeek[] {DayOfWeek.Sunday, DayOfWeek.Monday}).Returns(4);
// more days...
}
}
감사합니다. 매우 이상하게 보입니다. 왜 내 expectedCount를 메서드 매개 변수로 반환 할 수 없는지 이해할 수 없습니다. 읽고 이해하는 것이 훨씬 쉬워야합니다. – Elisabeth
답변을 업데이트했습니다. 기대 값을 매개 변수로 전달하는 방법을 보여주는 또 다른 예가 제공됩니다. –