node.js - 如何以编程方式在 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)
...
这可能吗?我在想描述钩子可能会起作用,但没有看到具体的迹象表明情况如此:
解决方案
您可以编写自己的记者来执行此操作,或者您可以在 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`);
});
推荐阅读
- python - 使用 json 保存/加载 textRPG
- amazon-web-services - 使用管理员权限创建 S3 存储桶 AWS Toolkit for Visual Studio 时出错
- python - 如何在 Wagtail 中无头创建页面?
- python - 为什么在 Pi 的整数倍处对 torch.sin() 和 numpy.sin() 的评估有数量级?
- c - 将 UEFI 兼容软件加载到 USB 并运行它
- python - 读取 .bed 文件和以特定格式压缩输出的问题
- wpf - 仅当通过单击外部选择项目时才会触发与 ListBox.SelectedItem 的绑定
- swift - 使用完成处理程序在 Swift 中调用连续动画
- javascript - 如何成功路由到 Angular 中的其他组件?
- javascript - Nightwatch.js 无法遍历从承诺返回的集合