为什么我的覆盖率报告以红色显示覆盖线?
Why does my coverage report show covered lines in red?
我可以使用 Karma、Tape 和 Istanbul(特别是 babel-istanbul)来获取我的 ES6 代码库的正确覆盖率报告,但是 HTML 报告显示了一些红色的覆盖线,即使它在空白处显示它们已在测试套件中被覆盖了很多次:
特别是,第 13 行显示了 4 倍的覆盖率,这反映了我刚刚编写的测试(调用 concat()
四次)。
为什么那条线是红色的?
您好,我认为这是因为在您的 mocha 文件中,您需要 lib
而不是 src
。
您应该需要 src 代码而不是编译后的代码。
并确保在你的 package.json 脚本中有类似
的内容
{
"compile": "babel src/ -d lib/ --presets es2015 --source-map both",
"test": "npm run compile && mocha",
"test-cov": "npm run compile && istanbul cover _mocha -- --opts ./test/mocha.opts"
}
src
是你的源代码
lib
是编译后的代码
--source-map both
可以帮助 istanbul 跟踪源代码的覆盖率
在mocha.opts
--require babel-polyfill
--compilers js:babel-register
我认为发生的事情是这些线被 运行 列在边距中的次数,但它们是红色的,因为覆盖的某些方面没有'没被击中查看我的屏幕截图,我不确定第 13 行可能是什么,但是将鼠标悬停在红线上会弹出一条消息,解释遗漏的内容。
我可以使用 Karma、Tape 和 Istanbul(特别是 babel-istanbul)来获取我的 ES6 代码库的正确覆盖率报告,但是 HTML 报告显示了一些红色的覆盖线,即使它在空白处显示它们已在测试套件中被覆盖了很多次:
特别是,第 13 行显示了 4 倍的覆盖率,这反映了我刚刚编写的测试(调用 concat()
四次)。
为什么那条线是红色的?
您好,我认为这是因为在您的 mocha 文件中,您需要 lib
而不是 src
。
您应该需要 src 代码而不是编译后的代码。 并确保在你的 package.json 脚本中有类似
的内容{
"compile": "babel src/ -d lib/ --presets es2015 --source-map both",
"test": "npm run compile && mocha",
"test-cov": "npm run compile && istanbul cover _mocha -- --opts ./test/mocha.opts"
}
src
是你的源代码
lib
是编译后的代码
--source-map both
可以帮助 istanbul 跟踪源代码的覆盖率
在mocha.opts
--require babel-polyfill
--compilers js:babel-register
我认为发生的事情是这些线被 运行 列在边距中的次数,但它们是红色的,因为覆盖的某些方面没有'没被击中查看我的屏幕截图,我不确定第 13 行可能是什么,但是将鼠标悬停在红线上会弹出一条消息,解释遗漏的内容。