0

我可以使用 Karma、Tape 和 Istanbul(特别是 babel-istanbul)来获得我的 ES6 代码库的正确覆盖率报告,但 HTML 报告显示一些红色覆盖的行,即使它在边缘显示它们已经在测试套件中被覆盖了几次:

在此处输入图像描述

特别是,第 13 行显示了 4x 覆盖率,这反映了我刚刚编写的测试(调用concat()了四次)。

为什么那条线是红色的?

4

2 回答 2

-1

嗨,我认为这是因为在您的 mocha 文件中,您需要 fromlib而不是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可以帮助伊斯坦布尔跟踪你的源代码的覆盖率

在 mocha.opts

--require babel-polyfill
--compilers js:babel-register
于 2016-04-11T06:11:33.127 回答
-1

我认为正在发生的事情是这些行正在运行边缘中列出的次数,但它们是红色的,因为覆盖的某些方面没有受到影响。例如,查看我的屏幕截图,我不确定第 13 行可能是什么,但是将鼠标悬停在红线上会弹出一条消息,解释遗漏的内容。

于 2016-05-06T13:30:23.617 回答