NUnit을 사용하여 통합 테스트를 실행합니다. 이 테스트는 시간이 많이 걸립니다. 실패를 감지하는 유일한 방법은 시간 초과입니다.첫 번째 실패시 NUnit 중지 테스트 실행 방법
단일 실패가 감지 되 자마자 테스트 실행을 중단하고 싶습니다.
이 방법이 있습니까?
NUnit을 사용하여 통합 테스트를 실행합니다. 이 테스트는 시간이 많이 걸립니다. 실패를 감지하는 유일한 방법은 시간 초과입니다.첫 번째 실패시 NUnit 중지 테스트 실행 방법
단일 실패가 감지 되 자마자 테스트 실행을 중단하고 싶습니다.
이 방법이 있습니까?
이것은 이상적인 해결책은 아니지만 필요한 테스트를 수행합니다. 즉, 테스트가 실패한 경우 나머지 테스트를 무시합니다. 당신이 잠재적에 장식이 속성을 가진 기본 클래스를 생성해야 함 메소드 보호 확인하고 그것에서 모든 TestFixture 클래스를 도출 할 수 있도록 TestFixtureAttribute 이후
[TestFixture]
public class MyTests
{
[Test]
public void Test1()
{
Ascertain(() => Assert.AreEqual(0, 1));
}
[Test]
public void Test2()
{
Ascertain(() => Assert.AreEqual(1, 1));
}
private static void Ascertain(Action condition)
{
try
{
condition.Invoke();
}
catch (AssertionException ex)
{
Thread.CurrentThread.Abort();
}
}
}
은 상속입니다.
단점이라면 기존의 모든 어설 션을 리팩터링해야합니다.
NUnit 3을 사용하고 있으며 다음 코드가 유용합니다.
public class SomeTests {
private bool stop;
[SetUp]
public void SetUp()
{
if (stop)
{
Assert.Inconclusive("Previous test failed");
}
}
[TearDown]
public void TearDown()
{
if (TestContext.CurrentContext.Result.Outcome.Status == TestStatus.Failed)
{
stop = true;
}
}
}
또는 추상 클래스로 만들고 파생시킬 수 있습니다.
나는 이것이 시험 주자 특정 탐구라고 믿습니다. 그래서 어떻게 시험을합니까? NUnit - 콘솔, msbuild NUnit 작업, 다른 러너? – sll