在可配置数量的测试失败后停止Mocha测试套件的执行

时间:2017-09-26 17:27:50

标签: javascript mocha

我想在可配置数量的测试失败后停止我的测试套件。 我的测试套件包含不同的文件,包含Mocha测试。

我想从用户那里获取输入,以便了解他们想要停止执行完整测试套件的测试用例失败次数。 因此,如果用户给出5作为输入,我的测试套件应该在第5个测试用例失败后停止。

如果弄清楚如何做到这一点,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

这是一次尝试:

// mocha-plugin-fail-after.js
const { Runner } = require('mocha');
const fail       = Runner.prototype.fail;
const opts       = require('minimist')(process.argv);
const failAfter  = Number(opts['fail-after'] || 5);

let failures = 0;
Runner.prototype.fail = function() {
  if (++failures > failAfter) {
    console.log('\nToo many failures, exiting...');
    process.exit(failures);
  }
  return fail.apply(this, arguments);
}

使用:

mocha -r mocha-plugin-fail-after --fail-after=5 test/**/*.js