【问题标题】:Karma-istanbul code coverage fails to load filesKarma-istanbul 代码覆盖无法加载文件
【发布时间】:2016-05-23 15:36:03
【问题描述】:

我正在尝试为 git 项目生成覆盖率指标:

这里是示例代码库:

https://github.com/imvetri/JS-coverage

我的.conf.js

files: [ 'base/*.js', 'src/*.js', 'test/spec/*.js' ]

执行测试:

npm test

coverage-jasmine-istanbul-karma@0.0.1 test /Users/valappip/Downloads/coverage-jasmine-istanbul-karma-master
node_modules/.bin/karma start my.conf.js
INFO [karma]: Karma v0.10.10 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.8 (Mac OS X)]: Connected on socket 70e_eJb6AVI-1iy4f_F9
PhantomJS 1.9.8 (Mac OS X) ERROR
ReferenceError: Can't find variable: base
at /Users/valappip/Downloads/coverage-jasmine-istanbul-karma-master/base/base-base.js:6
PhantomJS 1.9.8 (Mac OS X): Executed 0 of 0 ERROR (0.03 secs / 0 secs)
npm ERR! weird error 1
npm ERR! not ok code 0

如果我将 my.conf.js 文件更改为,

files: [ 'base/base.js', 'base/base-base.js', 'src/*.js' 'test/spec/*.js', ]

然后它给出报告。但是在我的实际项目中,JS文件很多,无法一一添加。有什么办法可以一次包含所有文件?或者我可以在测试开始之前加载依赖项吗?

【问题讨论】:

    标签: code-coverage karma-runner karma-jasmine istanbul grunt-istanbul


    【解决方案1】:

    你可以试试下面的

    files: [ 'base/base.js', 'base/*.js', 'src/*.js' 'test/spec/*.js']
    

    另一种选择是查看您的代码并确保您不会以这种方式从一个文件依赖于另一个文件。听起来实际问题在您的代码中。

    【讨论】:

    • 非常感谢! ,我在具有相同级别依赖关系的文件夹中有很多这样的文件。在浏览器中,我以正确的顺序包含这些文件,因此我在应用程序中不会遇到这个问题。是不是我可以先加载所有文件,然后才能开始测试?我可以为此做任何其他库或任何工作吗?
    猜你喜欢
    • 2016-02-29
    • 2016-06-02
    • 2015-09-10
    • 2017-03-22
    • 2018-09-13
    • 2016-07-23
    • 2020-01-12
    • 1970-01-01
    相关资源
    最近更新 更多