nunits 새로운 예외 처리 방법을 사용하려고하지만 정보를 찾기가 어려우며 moq와 함께 사용하는 방법을 찾았습니다.nunit 및 moq를 사용하여 예외 처리를 수행하는 방법은 무엇입니까?
나는 조롱 한 방법에 예외를 던지 지금 당장 가지고있다. 그러나 그것을 잡아보고 그것을보기 위해 nunit을 사용하는 방법을 모른다.
nunits 새로운 예외 처리 방법을 사용하려고하지만 정보를 찾기가 어려우며 moq와 함께 사용하는 방법을 찾았습니다.nunit 및 moq를 사용하여 예외 처리를 수행하는 방법은 무엇입니까?
나는 조롱 한 방법에 예외를 던지 지금 당장 가지고있다. 그러나 그것을 잡아보고 그것을보기 위해 nunit을 사용하는 방법을 모른다.
몇 가지 방법이 있습니다. 나는 Assert.Throws를 사용합니다.
var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);
var exception = Assert
.Throws<ArgumentNullException>(()=> new ChimpPuncher(null));
원하는 경우 예를 들어 예외 개체를 쿼리 할 수 있습니다.
Assert.That(exception.Message, Text.Contains("paramname");
왜 조롱 된 메서드 호출을 try/catch 블록으로 묶고 throw되는 특정 예외를 잡을 수 없습니까?
가장 좋은 방법은 테스트 방법 위에 [ExpectedException(typeof(ApplicationException))]
입니다.
이 접근법의 문제점은이 유형의 Exception이 ExpectedException 특성으로 장식 된 메서드의 _any_ 부분에 의해 throw되면 테스트가 통과한다는 것입니다. Assert.Throws <> 메카니즘을 사용하면 표면 영역이 줄어 듭니다. 예외가 실행되는 메소드 내에서 예외를 던져야하기 때문입니다. –