Node.js Istanbul/Mocha 单元测试未打印详细信息
Node.js Istanbul/Mocha Unit Tests not printing details
我正在尝试在 Node.js 中使用 Istanbul 和 Mocha 进行 运行 单元测试并生成代码覆盖率报告。我正在使用以下代码 运行 运行 单元测试并生成这些代码报告。
istanbul cover _mocha -- -R tap 'test/*.test.js' > test.tap; istanbul report clover
如果我只想 运行 没有代码覆盖率报告的单元测试,我可以 运行 以下内容。
mocha
这两种方法都可以正常工作。 但是第一种方法实际上并没有向控制台打印任何内容。我不知道当前 运行ning 是哪个单元测试,当它全部完成时我不知道到底出了什么问题。它不提供任何形式的错误日志或任何东西。第二种方法在每次测试后打印特定单元测试的状态,以便在控制台中轻松准确地查看您当前正在进行的单元测试,并且在所有测试完成后,它会为您提供有关失败原因的详细信息和错误日志,因此您可以开始调试了。第一种方法不提供任何这些。
有没有办法使用 Istanbul 生成代码覆盖率报告,但让它将所有详细信息打印到仅 运行ning mocha
打印的控制台?如果是这样,我怎样才能做到这一点?我的一些测试需要一点点 运行 并完成,因此在使用 Istanbul 生成代码覆盖率报告时,最好能准确地看到当前正在进行的测试以及有关测试的更多实时细节。
您的 istanbul
命令将输出重定向到 test.tap
,因此您不会在控制台上看到它:
istanbul cover _mocha -- -R tap 'test/*.test.js' > test.tap; istanbul report clover
^^^^^^^^^^
Istanbul 不需要 test.tap
中的测试输出,因此您可以删除重定向。如果希望命令继续写入文件,可以使用 tee
命令将测试输出同时写入文件和控制台。
试试这个: https://github.com/glenjamin/mocha-multi
mocha-multi keeps changing the value of process.stdout and
process.stderr whenever a reporter is doing its thing.
运行 这个:
istanbul cover _mocha -- --recursive --reporter mocha-multi --reporter-options list=-,tap=test.tap 'test/*.test.js' && istanbul report clover
我正在尝试在 Node.js 中使用 Istanbul 和 Mocha 进行 运行 单元测试并生成代码覆盖率报告。我正在使用以下代码 运行 运行 单元测试并生成这些代码报告。
istanbul cover _mocha -- -R tap 'test/*.test.js' > test.tap; istanbul report clover
如果我只想 运行 没有代码覆盖率报告的单元测试,我可以 运行 以下内容。
mocha
这两种方法都可以正常工作。 但是第一种方法实际上并没有向控制台打印任何内容。我不知道当前 运行ning 是哪个单元测试,当它全部完成时我不知道到底出了什么问题。它不提供任何形式的错误日志或任何东西。第二种方法在每次测试后打印特定单元测试的状态,以便在控制台中轻松准确地查看您当前正在进行的单元测试,并且在所有测试完成后,它会为您提供有关失败原因的详细信息和错误日志,因此您可以开始调试了。第一种方法不提供任何这些。
有没有办法使用 Istanbul 生成代码覆盖率报告,但让它将所有详细信息打印到仅 运行ning mocha
打印的控制台?如果是这样,我怎样才能做到这一点?我的一些测试需要一点点 运行 并完成,因此在使用 Istanbul 生成代码覆盖率报告时,最好能准确地看到当前正在进行的测试以及有关测试的更多实时细节。
您的 istanbul
命令将输出重定向到 test.tap
,因此您不会在控制台上看到它:
istanbul cover _mocha -- -R tap 'test/*.test.js' > test.tap; istanbul report clover
^^^^^^^^^^
Istanbul 不需要 test.tap
中的测试输出,因此您可以删除重定向。如果希望命令继续写入文件,可以使用 tee
命令将测试输出同时写入文件和控制台。
试试这个: https://github.com/glenjamin/mocha-multi
mocha-multi keeps changing the value of process.stdout and process.stderr whenever a reporter is doing its thing.
运行 这个:
istanbul cover _mocha -- --recursive --reporter mocha-multi --reporter-options list=-,tap=test.tap 'test/*.test.js' && istanbul report clover