Karma:从命令行运行单个testing文件
所以,我一直在寻找这个,在这里find“类似”的答案,但不完全是我想要的。
现在,如果我想testing一个单一的文件与业力,我需要做fit()
, fdescribe()
在文件中的问题…
然而,我所要做的就是能够使用configuration文件调用karma,并将其指向特定的文件,所以我根本不需要修改该文件,即:
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
是否有可能做到这一点? 或者与任何帮手? (使用咕噜声还是吞咽?)
首先你需要启动因果服务器
karma start
然后,您可以使用grep来过滤特定的testing或描述块:
karma run -- --grep=testDescriptionFilter
即使 – --files
不再受支持,您可以使用envvariables来提供文件列表:
// karma.conf.js function getSpecs(specList) { if (specList) { return specList.split(',') } else { return ['**/*_spec.js'] // whatever your default glob is } } module.exports = function(config) { config.set({ //... files: ['app.js'].concat(getSpecs(process.env.KARMA_SPECS)) }); });
然后在CLI中:
$ env KARMA_SPECS="spec1.js,spec2.js" karma start karma.conf.js --single-run
最近版本的业力不再支持这个选项:
见https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054
文件数组可以使用CLI重新定义,如下所示:
karma start --files=Array("test/Spec/services/myServiceSpec.js")
或逃脱:
karma start --files=Array\(\"test/Spec/services/myServiceSpec.js\"\)
参考
-
karma-runner来源:cli.js
-
karma-runner源码:config.js