我有一个简单的Node JS应用程序,我正在使用Istanbul和Mocha来生成代码覆盖率报告。这很好。
如果我编写一个新函数,但是没有为它创建任何测试(甚至创建一个测试文件),是否可以检查这个?
我的最终目标是,任何完全没有测试的代码都可以通过我们的持续集成过程来获取,并使其失败。
这可能吗?
答案 0 :(得分:0)
您可以通过使用代码覆盖率实现此目的。
"check-coverage": "istanbul check-coverage --root coverage --lines 98 --functions 98 --statements 98 --branches 98"
只需在package.json
文件中添加此项,如果需要,请更改阈值。如果编写代码但没有测试,那么覆盖范围将会下降。
答案 1 :(得分:0)
我不确定这是否是解决问题的正确方法,但首先运行cover
命令并添加参数--include-all-sources
,然后在没有测试文件的情况下报告任何代码并添加它们到它生成的coverage.json
文件。
然后运行check-coverage
会失败,这就是我所追求的。在我的CI流程中,我会首先运行cover
,然后运行check-coverage
我个人觉得伊斯坦布尔的文件有点令人困惑/不清楚,这就是为什么我最初没有看到这个!