因此,我一直在寻找这个问题,在这里找到了“类似”的答案,但并不是我想要的。
现在,如果我想测试与因缘一个单一的文件,我需要做的fit(),fdescribe()对有问题的文件...
但是,我想要的只是能够使用配置文件调用karma,并将其定向到特定文件,因此我根本不需要修改该文件,即:
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
是否有可能做到这一点?或有任何帮助?(使用咕unt声或吞咽声?)
因此,我一直在寻找这个问题,在这里找到了“类似”的答案,但并不是我想要的。
现在,如果我想测试与因缘一个单一的文件,我需要做的fit(),fdescribe()对有问题的文件...
但是,我想要的只是能够使用配置文件调用karma,并将其定向到特定文件,因此我根本不需要修改该文件,即:
karma run --conf karma.conf.js --file /path/to/specific/test_file.js
是否有可能做到这一点?或有任何帮助?(使用咕unt声或吞咽声?)
it吗?无法将其用于文件?
Answers:
首先,您需要使用以下命令启动业力服务器
karma start
然后,您可以使用grep过滤特定的测试或describe块:
karma run -- --grep=testDescriptionFilter
karma跑步karma start才能跑步karma run
karma run。看起来很清楚,发布者知道如何启动Karma并运行所有测试,并且只是在寻找有关过滤的语法。
即使--files不再受支持,您也可以使用env变量来提供文件列表:
// 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\"\)
参考文献
config.files = config.files.map(createPatternObject).map(createPatternMapper(basePathResolve)),这可能是由于我正在使用requireJS吗?
karma run -- --grep=testDescriptionFilter吗?我之前已经看到过此建议,但是我无法直接验证它是否有效。(如果我在家,我会在建议之前尝试。由于我无法尝试-我是在评论而不是回答。):)