所以,我一直在寻找这个,发现“相似”的答案在这里,但不完全是我想要的。现在,如果我想测试一个带有karma的文件,我需要对有问题的文件执行fit(),fdescribe() ...然而,我想要的是能够只调用karma,与配置文件,并将其定向到一个特定的文件,所以我不需要修改文件,即:karma run --conf karma.conf.js --file /path/to/specific/test_file.js有可能做到这一点吗?或与任何帮助?(使用咕噜声或吞咽?)
fit()
fdescribe()
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
4dc9hkyq1#
首先你需要启动karma服务器
karma start
然后,您可以使用grep来筛选特定的测试或描述块:
karma run -- --grep=testDescriptionFilter
db2dz4w82#
即使不再支持--files,您也可以使用env变量提供文件列表:
--files
// 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
gmxoilav3#
请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\"\)
参考资料
gwbalxhn4#
我尝试了@Yuriy Kharchenko的解决方案,但遇到了Expected string or object with "pattern" property错误。因此,我对他的回答做了以下修改,现在我可以使用Karma运行单个文件:
Expected string or object with "pattern" property
function getSpecs(specList) { if (specList) { return specList.toString(); } else { return ['**/*_spec.js'] // whatever your default glob is } } module.exports = function(config) { config.set({ //... files: [ { pattern: getSpecs(process.env.KARMA_SPECS), type: "module"} ] }); });
注意:此解决方案仅适用于KARMA_SPECS env变量中提到的单个文件。例如:export KARMA_SPECS="src/plugins/muc-views/tests/spec1.js"
KARMA_SPECS
export KARMA_SPECS="src/plugins/muc-views/tests/spec1.js"
4条答案
按热度按时间4dc9hkyq1#
首先你需要启动karma服务器
然后,您可以使用grep来筛选特定的测试或描述块:
db2dz4w82#
即使不再支持
--files
,您也可以使用env变量提供文件列表:然后在CLI中:
gmxoilav3#
最近版本的karma不再支持此选项:
请https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054
可以使用CLI将文件数组重新定义为:
或逃逸:
参考资料
gwbalxhn4#
我尝试了@Yuriy Kharchenko的解决方案,但遇到了
Expected string or object with "pattern" property
错误。因此,我对他的回答做了以下修改,现在我可以使用Karma运行单个文件:
注意:此解决方案仅适用于
KARMA_SPECS
env变量中提到的单个文件。例如:export KARMA_SPECS="src/plugins/muc-views/tests/spec1.js"