Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Node.js Mocha测试套件中以编程方式显示当前测试编号?_Node.js_Mocha.js - Fatal编程技术网

如何在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只会自动打印通过的测试,我不会为此运行报告器。然而,我确实有一个我运行的报告,但那是为了创建一个漂亮的报告,而不是为了我的目的。