2011-08-28 4 views
0

NUnit 테스트 중에 throw 될 수있는 예외 메시지가 콘솔에 출력 될 수 있습니까? 현재 나는 ExpectedExceptionAttribute을 사용하지만 메시지 자체를 출력하지는 않고 검사 만합니다.NUnit 및 예외

+1

에 있습니다. 예외가 발생하면 테스트합니까? –

+0

같은지 확실하지 않지만 Nunit에서 Exception 메시지를 가져 와서 콘솔에 쓰고 싶습니다. 콘솔 창에 예외 로그와 함께 테스트 로그가 표시됩니다. 이것은 추적 로그를 꿰매어야하는 잡일을 줄여줍니다. 가능해야하지만 어떻게해야하는지 잘 모르겠습니다. 현재 기본 테스트 클래스에서 수행중인 작업 TearDown 작업을 처리하고 테스트에 실패하면 화면을 스냅 샷으로 표시합니다. 그게 도움이 되겠지만 메시지를 쓰는 것이 더 낫습니다. – philw

답변

0

내가 사용

[Test] 
public void SomeTest(){ 
    try { 
     ... stuff ... 

     Assert.Fail("ExpectedExceptionType should have been thrown"); 
    } catch (ExpectedExceptionType ex) { 
    Console.WriteLine(ex); 
    // Assert.Stuff about the exception 
    } 
} 

그러나 난 그냥 NUnit 2.6 and it's Exception Assertion helpers 나타났습니다.

+0

Assert.IsTrue (false ...) 대신 Assert.Fail이어야합니다. –

2

메서드가 테스트를 실패하지 않으면 실패합니다. throw 된 경우 예외 메시지를 추가로 콘솔에 씁니다. 주장

[Test] 
public void Method_throws_exception() 
{ 
    var ex = Assert.Throws<InvalidOperationException>(sut.Method); 

    Console.WriteLine(ex.Message); 
} 

난 당신이 달성하려는 모르겠어요 만 at tab tabhttp://nuget.org/List/Packages/NUnit.Snippets