當我在ReSharper的TestRunner中運行我的單元測試時,他們只會告訴我發生的故障,而不是在測試中的位置!它甚至有時會截斷大部分錯誤消息(因爲它不適合在屏幕上)。要解決這個問題,我需要運行在調試模式下失敗的測試,並且它會在失敗的線路上停止,但這需要更多的時間。我可以設置ReSharper的TestRunner來告訴我在我的測試中哪條線路不通?
有沒有什麼辦法來啓用行號輸出和完整的錯誤信息?
當我在ReSharper的TestRunner中運行我的單元測試時,他們只會告訴我發生的故障,而不是在測試中的位置!它甚至有時會截斷大部分錯誤消息(因爲它不適合在屏幕上)。要解決這個問題,我需要運行在調試模式下失敗的測試,並且它會在失敗的線路上停止,但這需要更多的時間。我可以設置ReSharper的TestRunner來告訴我在我的測試中哪條線路不通?
有沒有什麼辦法來啓用行號輸出和完整的錯誤信息?
你有沒有激活ReSharper的單元測試會話窗口輸出窗格?
然後你可以點擊你的測試和輸出窗格顯示所有的錯誤和輸出(來自Console.Out.Write(...)
)。通常有一個堆棧跟蹤,您可以點擊一行來導航到代碼。
我的輸出窗格最小化了我的配置,甚至沒有意識到它在那裏! –
更多關於[輸出窗格](http://www.jetbrains.com/resharper/webhelp/Reference__Windows__Unit_Test_Sessions.html) – StuartLC
對於NUnit,您可以隨時爲每條測試線提供自定義錯誤消息。閱讀一下重載方法,比如'Assert.AreEqual(object,object,string)'。即使您在一個測試用例中有很多測試斷言,也很容易識別哪條線路發生故障。 –
我用nunit使用resharper並獲得一個完整的堆棧轉儲,其中包含一個可點擊的故障鏈接。 – adrianm
@adrianm你如何運行你的測試?我通過點擊Ctrl-U,Ctrl-R打開測試運行器並運行測試來運行我的程序。 –