我正在将项目从MSTest迁移到NUnit。 我有一个场景,我需要执行以下条件
testContext.CurrentTestOutcome.Equals(UnitTestOutcome.Timeout)
你能否建议NUnit等同于MSTest UnitTestOutcome.Timeout
?
答案 0 :(得分:1)
问题并不完全清楚。 @Francesco B.已经将其解释为含义"我如何指定超时?"并据此回答。
我理解你要问"我如何发现我的测试已经超时了?"简短的回答 - 您无法在测试中检测到它。它只能由正在执行测试的跑步者检测到。
更长的答案......
您可以检查拆解中的测试上下文,以查看使用TestContext.CurrentContext.Result.Outcome
进行测试的结果。如果您的拆卸需要知道测试失败,这将非常有用。
然而,你永远不会看到"超时的结果"因为...
当然,如果我误解了这个问题并且你只是想知道如何指定超时,那么另一个答案就是你想要的。 : - )
答案 1 :(得分:0)
根据official documentation,您可以使用Timeout
属性:
[Test, Timeout(2000)]
public void PotentiallyLongRunningTest()
{
...
}
当然,您必须以毫秒为单位提供超时值;超过该限制,您的测试将被列为失败。
有一种已知的"罕见的" NUnit不尊重超时的情况,已经discussed。