gpt4 book ai didi

javascript - Node.js Istanbul/Mocha 单元测试不打印详细信息

转载 作者:行者123 更新时间:2023-12-02 14:18:50 28 4
gpt4 key购买 nike

我正在尝试使用 Istanbul与 Node.js 中的 Mocha 一起运行单元测试并生成代码覆盖率报告。我使用以下代码来运行单元测试并生成这些代码报告。

istanbul cover _mocha -- -R tap 'test/*.test.js' > test.tap; istanbul report clover

如果我只想在没有代码覆盖率报告的情况下运行单元测试,我可以运行以下命令。

mocha

这两种方法都可以正常工作。 但是第一种方法并没有真正将任何内容打印到控制台。我不知道它当前正在运行哪个单元测试,当它全部完成时,我不知道到底出了什么问题。它不提供任何形式的错误日志或任何内容。第二种方法在每次测试后打印特定单元测试的状态,以便在控制台中轻松查看您当前正在处理的单元测试,并且在所有测试完成后,它会为您提供有关失败原因的详细信息和错误日志,以便您就可以开始调试了。第一种方法不提供任何这些。

是否有办法使用 Istanbul 生成代码覆盖率报告,但让它将所有详细信息打印到刚刚运行 mocha 打印的控制台?如果是这样我怎样才能实现这个目标?我的一些测试需要一点时间才能运行和完成,因此当使用 Istanbul 生成代码覆盖率报告时,最好能够准确地了解当前正在进行的测试以及有关实时测试的更多详细信息。

最佳答案

您的 istanbul 命令将输出重定向到 test.tap,因此您不会在控制台上看到它:

istanbul cover _mocha -- -R tap 'test/*.test.js' > test.tap; istanbul report clover
^^^^^^^^^^

Istanbul 不需要 test.tap 中的测试输出,因此您可以删除重定向。如果您希望命令继续写入文件,您可以使用 tee命令将测试输出写入文件和控制台。

关于javascript - Node.js Istanbul/Mocha 单元测试不打印详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38832381/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com