OneTimeTearDown 抛出异常;测试未标记为失败

问题描述 投票:0回答:2

标题说明了一切...

  • 我正在使用 C#、Visual Studio、NUnit 和 ReSharper 作为我的测试运行器
  • 我有一个使用
    [OneTimeTearDown]
    方法的单元测试。
  • 该方法目前抛出异常。
  • 测试似乎被标记为“不确定”,而不是失败。

这看起来有点垃圾:( 有没有办法解决这个问题,或者这只是框架的工作原理?

c# visual-studio unit-testing nunit resharper
2个回答
0
投票

它是框架如何工作以及跑步者如何报告结果的结合。在

OneTimeTearDown
失败的时间点,所有测试都已通过测试完成事件报告给运行者成功。

所以,这些测试确实运行成功,但在清理夹具时出现了问题。该错误是针对夹具报告的。有些跑步者可能会显示此信息,有些可能不会。如果您在 Visual Studio 中的测试资源管理器下运行,您会注意到没有显示固定装置的信息,仅显示单个测试的信息。因此,如果运行程序想要向您报告失败,除了可能在输出窗口中以文本形式报告之外,没有其他地方可以执行此操作。

作为实验,您可以尝试在

nunit3-console
下运行测试,看看它如何处理结果。您还可以尝试使用 NUnit 3 VS 适配器(不使用 ReSharper)来看看结果如何。然后选择您最喜欢的方法和/或向特定跑步者的开发人员提出问题。 PS:如果您在

nunit3-console

下运行,您可以检查 XML 结果文件以查看向任何运行者报告的信息。

抱歉,这不是一个更直接有用的答案!


0
投票

如果运行 WebDriver 测试,只需将 driver.Quit() 放入 [OneTimeTearDowm]

© www.soinside.com 2019 - 2024. All rights reserved.