簡體   English   中英

如何在NUnit TearDown中獲取測試失敗消息

[英]how to get test fail message in NUnit TearDown

嗨,我想記錄測試失敗的消息,我知道可以檢查狀態

TearDown

使用以下內容

TestContext.CurrentContext.Result.Status.ToString();

可以在TearDown中獲得測試失敗的原因。 有些事情如下

Expected: True
But was:  False

at NUnit.Framework.Assert.That(Object actual, IResolveConstraint expression, String message, Object[] args)
       at NUnit.Framework.Assert.IsTrue(Boolean condition)
       at Test.FileSystemTests.QuoteFiles() in ExampleTests.cs: line 57

如果

TestContext.CurrentContext.Result 

不包含您要查找的值,您也可以嘗試

TestExecutionContext.CurrentContext.CurrentResult

這對我來說在TearDown中使用NUnit 3.0以及其他方法。

在拆解中需要一個狀態是一種測試的標志。 拆卸應該可以隨時工作,而不依賴於單元測試的結果。 我只是將您的系統置於與單元測試之前相同的狀態。 你可以添加嘗試,最后到你的拆解來清理混亂。 但是,根據一個斷言(以及稍后的斷言)將使您的拆卸代碼變得復雜,這是您現在在單元測試中所需要的。

這個問題: NUnit:在TearDown()中訪問失敗消息可能對您有所幫助。 在意圖上似乎足夠相似。

嗨,我不確定你是否得到了這個問題的解決方案。 但這是我對此的回答。 使用Nunit 3.0,您可以通過以下線路實現這一目標......

TestContext.CurrentContext.Result.Outcome.Status; (For test Execution Status)

TestContext.CurrentContext.Result.StackTrace; (For Stack Trace Message)

TestContext.CurrentContext.Result.Message; (For Test Result Message)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM