当 QUnit 测试套件完成时登录到终端?

Log to terminal when QUnit test suite completes?

当我的测试套件完成时,我需要输出一些统计信息,即。 e.关于测试执行期间收集的测试的元信息。

我正在尝试这个:

QUnit.done(() => console.log("some meta info here"))

这在我 运行 在浏览器中测试时有效。

但是当我在终端中运行测试时,没有显示console.log输出。

可能有一些调试标志,但它会启用 所有 console.log 消息并极大地污染输出。

相反,我需要向终端输出一条特定消息,以便它被记录到 CI。

PS console.log 测试执行期间发送的消息似乎成功进入了终端。

PPS 在 Ember CLI 应用程序中使用 QUnit,反对 Chrome headless。

这是一个棘手的问题,因为我从来不需要像这样与 QUnit 交互,但这里是我在每一步中的发现:

尝试 1:

这是一个奇怪的错误,我以为我传递了一个回调函数:-\

尝试 2:

在查看了 Qunit.log 的文档后,我发现我用错了。切换到 console.log 显示开始消息 -- 但不是结束消息。

尝试 3:

moduleDone 会在最后打印一些东西——但它也会在你每次使用单词 module 时打印(在里面的所有内容完成 运行ning 之后)。所以,我想如果 QUnit.done 永远不会结束工作,你可以跟踪启动的模块数和完成的模块数,确保每个启动的模块都完成,如果最后那个数字是 0,你的测试套件完成了吗?

尝试 4

事实证明,如果您想知道最外层的模块是否已完成,这实际上才有用,因为似乎多个测试不会 运行 并行(这对于测试稳定性来说可能更好)。

尝试 5

https://github.com/qunitjs/qunit/issues/1308

测试适配器似乎有问题:(