您好我想记录测试失败的消息,我知道可以检查
中的状态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
答案 0 :(得分:1)
如果
TestContext.CurrentContext.Result
不包含您要查找的值,您也可以尝试
TestExecutionContext.CurrentContext.CurrentResult
这对我来说在TearDown中使用NUnit 3.0以及其他方法。
答案 1 :(得分:0)
在拆解中需要一个状态表明测试是正常的。拆卸应该可以随时工作,而不依赖于单元测试的结果。我只是将您的系统置于与单元测试之前相同的状态。你可以添加尝试,最后到你的拆解来清理混乱。但是,根据一个断言(以及稍后的断言)将使您的拆卸代码变得复杂,这是您现在在单元测试中所需要的。
答案 2 :(得分:0)
这个问题:NUnit: Accessing the Failure Message in TearDown()可能对您有所帮助。这似乎与意图相似。
答案 3 :(得分:0)
您好,我不确定您是否已找到此问题的解决方案。但这是我对此的回答。 使用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)