2011-08-28 37 views
0

反正有人可以向控制檯輸出NUnit測試期間可能拋出異常的消息嗎?目前我使用ExpectedExceptionAttribute,但不輸出消息本身,只檢查它。NUnit&Exceptions

+1

我不知道你想達到什麼。你測試是否拋出異常? –

+0

不知道它是否相同,但我想從Nunit獲取異常消息並將其寫入控制檯,以便我可以在控制檯窗口中看到我的測試日誌,並在其中包含異常詳細信息。 這將節省我必須將跟蹤日誌縫合在一起的異常情況,以及調試出錯的異常情況。 必須是可能的,但我不能完全弄清楚如何去做。 我目前正在做一個基礎測試課,我處理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

如果Method不拋出測試失敗。如果它拋出它額外寫入異常消息到控制檯。

[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