如何在Node.js Mocha测试套件中以编程方式显示当前测试编号?

时间:2018-08-06 19:05:23

标签: node.js mocha

我目前有一个执行的测试套件,看到的内容如下:

/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)
    ...

这可能吗?我当时想描述钩子可能有用,但没有看到具体迹象表明是这种情况:

https://mochajs.org/#describing-hooks

1 个答案:

答案 0 :(得分:0)

您可以编写自己的reporter来执行此操作,也可以在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`);
});