Ember CLI 代码覆盖率报告

Posted

技术标签:

【中文标题】Ember CLI 代码覆盖率报告【英文标题】:Ember CLI Code Coverage Reports 【发布时间】:2014-08-21 02:28:07 【问题描述】:

我正在使用 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% 覆盖了转译代码。

我不完全了解转译代码的工作原理,我不确定解决此问题的最佳方法是什么,但我绝对希望能得到任何帮助,为我指明正确的方向,从而获得一个不错的代码覆盖率报告。

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

【问题讨论】:

给它一个hack路径../../app/components,如果这有帮助我会把它作为答案发布。 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

您可以在此处找到新插件: https://github.com/kategengler/ember-cli-code-coverage

【讨论】:

以上是关于Ember CLI 代码覆盖率报告的主要内容,如果未能解决你的问题,请参考以下文章

覆盖 DS.Store ember-cli

Angular 单元测试中业力代码覆盖率报告中的 1x 3x 等是啥意思?

Angular中伊斯坦布尔覆盖报告中的标记异常

Angular CLI - 获取包含所有来源的覆盖率报告

如何检测 Angular CLI 以报告所有源文件的覆盖率

Jacoco - 代码覆盖率报告分析