javascript - 从 Mocha 中的 afterEach Hook 中检测测试失败

标签 javascript node.js mocha.js

我正在尝试创建一个 afterEach 钩子(Hook),其逻辑只有在之前的测试失败时才会触发。例如:

it("some_test1", function(){
  // something that could fail
})

it("some_test2", function(){
  // something that could fail
})

afterEach(function(){
  if (some_test_failed) {
    // do something to respond to the failing test
  } else {
    // do nothing and continue to next test
  }
})

但是,我没有已知的方法来检测测试是否从 afterEach Hook 中失败。是否有某种事件监听器可以附加到 mocha 上?也许是这样的:

myTests.on("error", function(){ /* ... */ })

最佳答案

您可以使用 this.currentTest.state(不确定何时引入):

afterEach(function() {
  if (this.currentTest.state === 'failed') {
    // ...
  }
});

关于javascript - 从 Mocha 中的 afterEach Hook 中检测测试失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24194672/

相关文章:

javascript - 测试 ReactJs 中使用的同构获取

Javascript 函数在第一次被调用时有效,但在第二次或之后的任何其他时间都不再有效

node.js - Express-js 通配符路由覆盖路径下的所有内容,包括路径

javascript - 想要使用 jquery 布局 ui 停靠和取消停靠应用程序部分

javascript - 如何在 sails.js Controller 中检索列表/索引 View 的一对一关联?

javascript - 如何在 switch block 的每种情况下解决不同的 promise 并将其结果传递给同一函数?

javascript - 如何对动态加载javascript文件的javascript代码进行单元测试?

javascript - 如何使用 npm 脚本运行客户端 javascript 的代码覆盖率

javascript - 为什么不跟踪 js 类的 mobx 可观察属性,但跟踪 mobx 可观察对象的属性?

javascript - 在不同的 Controller 文件中使用服务