【问题标题】:Hook in NUnit or SpecFlow when a test fails测试失败时挂钩 NUnit 或 SpecFlow
【发布时间】:2015-07-31 18:03:56
【问题描述】:

所以我将 SpecFlow 与 NUnit 一起用于使用 Selenium 开发 Web 应用程序的端到端验收测试。我们尝试衡量故障性质的其中一件事是,每当回归测试失败时,对浏览器进行截图。我目前正在通过将我的每个测试包装在 try/catch 块中,然后使用 Selenium 在 catch 中截取屏幕截图,重新抛出异常来做到这一点。这行得通,但它使测试更加混乱和乏味。

NUnit 或 SpecFlow 中是否有办法在任何测试失败时、在调用任何拆卸方法之前调用钩子?

【问题讨论】:

    标签: nunit specflow


    【解决方案1】:

    您可以使用 ScenarioContext 来检测场景是否产生了错误。

    ScenarioContext.Current.TestError
    

    如果不为空,则发生错误。您可以检查并使用它来确定是否截取屏幕截图。您可以在 SpecFlow's documentation reference 上查看示例。

    您也可以将此作为 AfterScenario Hook,这样您就不需要到处都有 try/catch。它只会在最后检查每个测试以查看是否发生错误以及是否创建屏幕截图。

    【讨论】:

      猜你喜欢
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多