Javascript Karma:如何在命令行上更改预处理器(或在配置中切换预处理器)
我想用不同的预处理器运行Karma几次。基于这些失败,karma exec在命令行上侦听预处理器,但我无法正确设置它 以下所有操作都返回相同的错误Javascript Karma:如何在命令行上更改预处理器(或在配置中切换预处理器),javascript,command-line,karma-runner,Javascript,Command Line,Karma Runner,我想用不同的预处理器运行Karma几次。基于这些失败,karma exec在命令行上侦听预处理器,但我无法正确设置它 以下所有操作都返回相同的错误 karma start --single-run web-app/karma.conf.js --preprocessors "{\"../grails-app/assets/javascripts/**/!(lib)/**/*.js\": \"jshints\"}" karma start --single-run web-app/karma.co
karma start --single-run web-app/karma.conf.js --preprocessors "{\"../grails-app/assets/javascripts/**/!(lib)/**/*.js\": \"jshints\"}"
karma start --single-run web-app/karma.conf.js --preprocessors {"../grails-app/assets/javascripts/**/!(lib)/**/*.js": "jshints"}
karma start --single-run web-app/karma.conf.js --preprocessors "{'../grails-app/assets/javascripts/**/!(lib)/**/*.js': 'jshints'}"
错误:
/usr/lib/node_modules/karma/lib/config.js:145
Object.keys(preprocessors).forEach(function(pattern) {
^
TypeError: Object.keys called on non-object
at Function.keys (native)
at normalizeConfig (/usr/lib/node_modules/karma/lib/config.js:145:10)
at Object.parseConfig (/usr/lib/node_modules/karma/lib/config.js:293:10)
at Object.exports.start (/usr/lib/node_modules/karma/lib/server.js:282:20)
我为什么要这样做,还有其他选择吗?
coverage
和jshint
预处理器不兼容。我可以复制karma.conf.js
,但这不是一个很好的长期可维护性选项。创建karma.conf.js
模板
module.exports = {
...
}
为karma创建一个包装器(我们称之为'wrapper.js'):
此时,您可以从控制台传递参数:
$ node wrapper.js blah
有关karma API的更多信息,请查看:
$ node wrapper.js blah