如何在Node.js Mocha测试套件中以编程方式显示当前测试编号?
我目前有一个测试套件,我执行该套件并看到如下内容:如何在Node.js Mocha测试套件中以编程方式显示当前测试编号?,node.js,mocha.js,Node.js,Mocha.js,我目前有一个测试套件,我执行该套件并看到如下内容: /path/to/test/test.js ✓ test passed ✓ test passed ✓ test passed (356ms) /path/to/test/testing.js ✓ test passed (200ms) ✓ test passed (356ms) ✓ test passed (325ms) 6 passing (1m) 我有几百个测试,所以我想看看是否有一种
/path/to/test/test.js
✓ test passed
✓ test passed
✓ test passed (356ms)
/path/to/test/testing.js
✓ test passed (200ms)
✓ test passed (356ms)
✓ test passed (325ms)
6 passing (1m)
我有几百个测试,所以我想看看是否有一种方法可以打印进程当前正在进行的测试,至少在每个测试文件之后,例如
/path/to/test/test.js
✓ test passed
✓ test passed
✓ test passed (356ms)
3/6 tests completed
/path/to/test/testing.js
✓ test passed (200ms)
...
这可能吗?我在想描述钩子可能有用,但没有看到具体的迹象表明是这样的:
你可以自己写,也可以在npm上查看,如果有人已经为你做了
类似于以下内容的内容应该可以做到这一点:
var passes = 0;
var failures = 0;
runner.on('pass', function(test){
passes++;
console.log(`${test.fullTitle()} passed`);
});
runner.on('fail', function(test, err){
failures++;
});
runner.on('suite end', function () {
console.log(`${passes}/${failures} tests completed`);
});
嗯,我已经有了一个reporter,但是我用它来创建一个我们的业务用户可以阅读的报告,我只想在运行
mocha
命令时在终端上打印一些东西。如果这是唯一的方法,那么我的需求可能无法满足。不确定我是否会遵循。记者可以做任何你需要的事情,包括打印到终端。您的终端打印报告器可以通过--reporter
选项和mocha
命令使用。我正在运行我的测试套件,如所示,因此我运行mocha
,执行test
中的所有测试文件,mocha只会自动打印通过的测试,我不会为此运行报告器。然而,我确实有一个我运行的报告,但那是为了创建一个漂亮的报告,而不是为了我的目的。