예상되는 예외없이 테스트
내 함수가 예외를 throw하지 않도록 NUnit 테스트를 만들고 싶습니다. 구체적인 방법이 있나요, 아니면 그냥 써야하나요
[Test]
public void noExceptionTest() {
testedFunction();
}
예외가 발생하지 않으면 성공할까요?
Assert.DoesNotThrow(() => { /* custom code block here*/});
또는 그냥 방법
Assert.DoesNotThrow(() => CallMymethod());
자세한 내용은 NUnit Exception Asserts를 참조하세요.
NUnit 3.0 Constraint Model 유형 어설 션을 사용하면 코드는 다음과 같습니다.
Assert.That(() => SomeMethod(actual), Throws.Nothing);
이 예제는 NUnit wiki 에서 가져 왔습니다 .
예외를 던지지 않는 것이 정상적인 조치입니다. 테스트는 예외가 발생하지 않았는지 성공적으로 확인합니다.
당신이 올바른지. 예외가 있으면 테스트가 실패합니다.
지정하지 않는 한
[ExpectedException( typeof(YourException) ) ]
public void TestMethod()
{
...
}
또는 @sll이 말했듯이 더 구체적인
Assert.DoesNotThrow
단언 .
예, 예외가 없습니다-> 테스트 통과. 다시 던지지 않고 try-catch 블록이 있으면 통과합니다.
단위 테스트 로직과 관련된 문제가 있다고 생각합니다. 특정 입력에서 특정 예외가 예상되는 경우 예상 예외로 선언합니다. 함수가 제대로 작동하는지 확인하는 중이고이 적절한 동작 중에 예외가 예상되지 않는 경우에는 작성하고 예외가 발생하면 테스트가 실패합니다.
코드가 제대로 작동하는 것 같지만 예외가 없는지 확인하는 것만이 단위 테스트에 적합한 방법이 아닐 수 있습니다. 단위 테스트에서는 일반적으로 일부 출력 (예상 값)을 예상하고 실제 출력 (실제 값)이 있으며 예상 값과 실제 값이 동일하다고 주장합니다.
참고 URL : https://stackoverflow.com/questions/9803839/test-with-no-expected-exception
'IT Share you' 카테고리의 다른 글
onClick (DialogInterface v, int buttonId) 내에서 컨텍스트를 얻습니까? (0) | 2020.12.03 |
---|---|
메모리의 목록 크기 (0) | 2020.12.03 |
mongoDB의 문자열 필드 값 길이 (0) | 2020.12.03 |
디자인 지원 라이브러리의 TabLayout에서 탭 간 구분선을 설정하는 방법은 무엇입니까? (0) | 2020.12.03 |
logcat 또는 예외없이 Android 앱이 충돌 함 (0) | 2020.12.03 |