2017-02-24 50 views
10

根据this post(和一般的互联网)如果我想运行没有这些类型的代码覆盖命令的噶测试...设置调试选项

__cov_9C0014nbzu2SxN3FICah6Q.f['35']++; 
__cov_9C0014nbzu2SxN3FICah6Q.s['138']++; 

...我只是需要在终端像这样设置--debug选项:

$ karma start karma.conf.js --browsers=Chrome --single-run=false --debug 

然而,通过咕嘟咕嘟任务运行你噶测试时,该文件似乎缺少。我正在使用下面的简单karma.start配置对象。我已经尝试将debug属性设置为true或条纹'--debug',但似乎都没有效果(虽然测试运行/跑步者不会崩溃)。

karma.start({ 
    configFile: __dirname + '/karma.conf.js', 
    exclude: excludeFiles, 
    singleRun: !!singleRun, 
    debug: '--debug' 
}, karmaCompleted); 

任何想法如何设置从Gulp任务运行您的Karma测试时的调试选项?

回答

6

设置debug: true在选项对象中,我传递给karma.start的作用与在命令行中使用--debug一样正常。换句话说,你在你的Gulpfile中所做的表示可以使debug选项成为Karma。然而,

我只需将--debug选项,在终端像这样

没有设置,您链接到显示你还需要自定义的配置来调整预处理器列表页面所以当使用--debug时,该列表是空的。您遇到的问题与无法正确执行该定制一致。

这里是如何执行定制。这从噶已经在命令行解析配置的查询config.debug值:为--debug

module.exports = function configure(config) { 
    config.set({ 
    // ... 
    preprocessors: { 
     "index.js": config.debug ? [] : ["coverage"], 
    }, 
    // ... 
    }); 
}; 

扫描process.argv就像你把这个想法在页面上建议从当您从咕嘟咕嘟调用噶将无法正常工作因为debug选项直接通过配置传递。检查config.debug既可以在命令行中运行,也可以通过程序化API调用Karma。

+0

救命恩,谢谢! – NealR