我正在使用Ember CLI,并尝试将代码覆盖率报告与使用testem运行的内置Qunit测试集成。我尝试使用Istanbul,但无法找到要插装的文件,因为它似乎在tmp目录中寻找。我尝试在我的testem.json文件中这样做:
{
"framework": "qunit",
"serve_files": [
"instrumented/components/*.js"
],
"before_tests": "istanbul instrument --output instrumented/components app/components",
"after_tests": "istanbul report",
"test_page": "tests/index.html",
"launch_in_ci": ["PhantomJS"],
"launch_in_dev": ["PhantomJS", "Chrome"],
"reporter": "tap"
}
not ok 1 错误
---
message: > fs.js:684
return binding.stat(pathModule._makeLong(path));
^
Error: ENOENT, no such file or directory '/Users/Robert/ui/tmp/class-tests_dist-hqZLfsWS.tmp/app/components'
at Object.fs.statSync (fs.js:684:18)
at InstrumentCommand.Command.mix.run (/usr/local/lib/node_modules/istanbul/lib/command/instrument.js:230:20)
at runCommand (/usr/local/lib/node_modules/istanbul/lib/cli.js:58:19)
at runToCompletion (/usr/local/lib/node_modules/istanbul/lib/cli.js:62:5)
at Object.<anonymous> (/usr/local/lib/node_modules/istanbul/lib/cli.js:67:5)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
我也尝试过使用Karma,但是我无法弄清楚配置。我还尝试了blanket,但那只给我一个虚假的转换代码覆盖率报告100%。
我并不完全理解转换后的代码如何工作,也不确定最佳方法是什么,但我肯定希望得到任何帮助,指导我如何获得一个良好的代码覆盖率报告。
有人成功地集成了任何类型的代码覆盖率报告吗?
../../app/components
。 - user3995789