在Gulp Karma测试中设置调试选项



根据这篇文章(和一般互联网),如果我想在没有这些代码覆盖率命令的情况下运行 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时工作。

最新更新