根据这篇文章(和一般互联网),如果我想在没有这些代码覆盖率命令的情况下运行 Karma 测试......
__cov_9C0014nbzu2SxN3FICah6Q.f['35']++;
__cov_9C0014nbzu2SxN3FICah6Q.s['138']++;
。我只需要在终端中设置--debug
选项,如下所示:
$ karma start karma.conf.js --browsers=Chrome --single-run=false --debug
但是,当通过 Gulp 任务运行 Karma 测试时,文档似乎丢失了。我在下面使用一个简单的karma.start
配置对象。我尝试将debug
属性设置为true
或 strign'--debug'
,但似乎都没有效果(尽管测试确实运行/运行器不会崩溃)。
karma.start({
configFile: __dirname + '/karma.conf.js',
exclude: excludeFiles,
singleRun: !!singleRun,
debug: '--debug'
}, karmaCompleted);
任何想法如何在从 Gulp 任务运行 Karma 测试时设置调试选项?
在我传递给karma.start
的选项对象中设置debug: true
与在命令行中使用--debug
一样有效。换句话说,你在Gulpfile中所说的工作是为了获得业力的debug
选项。然而
我只需要像这样在终端中设置
--debug
选项
否,您链接到的页面显示您还需要自定义配置以调整预处理器列表,以便在使用--debug
时列表为空。您遇到的问题与未能正确执行该自定义一致。
以下是如何执行自定义。这会从 Karma 已经从命令行解析的配置中查询config.debug
的值:
module.exports = function configure(config) {
config.set({
// ...
preprocessors: {
"index.js": config.debug ? [] : ["coverage"],
},
// ...
});
};
当您从 Gulp 调用 Karma 时,扫描process.argv
以查找您从中获取想法的页面上建议的--debug
将不起作用,因为debug
选项直接通过配置传递。检查config.debug
既可以在命令行工作,也可以在通过其编程API调用Karma时工作。