有没有一种好方法可以在每个 运行 之后用 `mocha -w` 打印时间?
Is there a good way to print the time after each run with `mocha -w`?
我喜欢在测试时让 mocha -w
运行 在终端中,这样我可以立即得到反馈,但我不能总是一眼就看出它是否改变了状态没有改变 - 是 运行 还是卡住了(已经发生)?
我想有一种方法可以在每个测试 运行 的末尾附加时间戳,但理想情况下仅当 运行 处于 'watch' 模式时 - 如果我运行手动设置,我当然知道是不是运行。
现在,我将异步控制台日志附加到 运行s:
的最后一个测试
it('description', function () {
// real test parts.should.test.things();
// Trick - schedule the time to be printed to the log - so I can see when it was run last
setTimeout(() => console.log(new Date().toDateString() + " @ " + new Date().toTimeString()), 5);
});
显然,由于以下几个原因,这是丑陋和糟糕的:
- 它是手动添加到上次测试中的 - 必须知道那是哪个
- 每次 测试是 运行 时都会添加它,但不会添加其他 - 所以如果我 运行 不同的文件或测试 -> 没有日志;如果我 运行 仅手动测试 -> log
- 这只是对测试目的的一种侮辱 - 颠覆它以服务于我的意志
我看到一些关于 mocha 添加带有命令行参数的 global.it
对象的引用,可以在其中搜索 '-w' 标志,但这更丑陋,仍然没有解决大多数问题。
是否有其他一些 mocha 插件模块提供此功能?或者也许我忽略了选项中的某些内容?或者也许我真的不应该需要这个,而我一开始就做错了?
Mocha 支持 root level hooks。如果你在任何 describe
块之外放置一个 after
钩子(例如),它应该 运行 在所有测试结束时。当然,它不会 运行 仅在手表模式下,但在其他情况下应该适用。
我喜欢在测试时让 mocha -w
运行 在终端中,这样我可以立即得到反馈,但我不能总是一眼就看出它是否改变了状态没有改变 - 是 运行 还是卡住了(已经发生)?
我想有一种方法可以在每个测试 运行 的末尾附加时间戳,但理想情况下仅当 运行 处于 'watch' 模式时 - 如果我运行手动设置,我当然知道是不是运行。
现在,我将异步控制台日志附加到 运行s:
的最后一个测试it('description', function () {
// real test parts.should.test.things();
// Trick - schedule the time to be printed to the log - so I can see when it was run last
setTimeout(() => console.log(new Date().toDateString() + " @ " + new Date().toTimeString()), 5);
});
显然,由于以下几个原因,这是丑陋和糟糕的:
- 它是手动添加到上次测试中的 - 必须知道那是哪个
- 每次 测试是 运行 时都会添加它,但不会添加其他 - 所以如果我 运行 不同的文件或测试 -> 没有日志;如果我 运行 仅手动测试 -> log
- 这只是对测试目的的一种侮辱 - 颠覆它以服务于我的意志
我看到一些关于 mocha 添加带有命令行参数的 global.it
对象的引用,可以在其中搜索 '-w' 标志,但这更丑陋,仍然没有解决大多数问题。
是否有其他一些 mocha 插件模块提供此功能?或者也许我忽略了选项中的某些内容?或者也许我真的不应该需要这个,而我一开始就做错了?
Mocha 支持 root level hooks。如果你在任何 describe
块之外放置一个 after
钩子(例如),它应该 运行 在所有测试结束时。当然,它不会 运行 仅在手表模式下,但在其他情况下应该适用。