Ember CLI代码覆盖率报告

时间:2014-06-30 16:32:46

标签: ember.js qunit ember-cli broccolijs testem

我正在使用Ember CLI,我正在尝试将代码覆盖率报告与使用testem运行的内置Qunit测试集成。我试图使用伊斯坦布尔,但我无法找到要检测的文件,因为它似乎在查看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"
}

但我一直得到这样的错误: 不行1错误     ---         消息:>

        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,但我无法弄清楚配置。我也试过毯子,但这只是给了我一个虚假的报告,100%覆盖了已编译的代码。

我不完全理解转换后的代码是如何工作的,我不确定最好的解决方法是什么,但我肯定会喜欢任何帮助,指出我正确的方向如何获得一个很好的代码覆盖率报告。

是否有人成功整合了任何类型的代码覆盖率报告?

2 个答案:

答案 0 :(得分:3)

Steven Glanzer最近发布了一个ember-cli插件,用于提供名为ember-cli-blanket的代码覆盖。

您可以在https://github.com/sglanzer/ember-cli-blanket

找到它

答案 1 :(得分:2)

现在有一个新的Ember插件用于伊斯坦布尔的代码覆盖。 Ember-CLI-Blanket不再有效。

你可以在这里找到新的插件: https://github.com/kategengler/ember-cli-code-coverage