Karma:从命令行运行单个测试文件

时间:2015-03-19 17:17:22

标签: javascript gruntjs gulp karma-runner karma-jasmine

所以,我一直在寻找这个,在这里找到“类似”的答案,但不完全是我想要的。

现在,如果我想测试带有业力的单个文件,我需要对有问题的文件fit()fdescribe()进行...

然而,我真正想要的是能够使用配置文件调用karma,并将其指向特定文件,因此我根本不需要修改文件,即:

karma run --conf karma.conf.js --file /path/to/specific/test_file.js

可以这样做吗?还是有帮助? (使用grunt或gulp?)

3 个答案:

答案 0 :(得分:50)

首先你需要用

启动业力服务器
karma start

然后,您可以使用grep过滤特定测试或描述块:

karma run -- --grep=testDescriptionFilter

答案 1 :(得分:14)

即使不再支持--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

答案 2 :(得分:6)

最新版本的业力不再支持此选项:

请参阅https://github.com/karma-runner/karma/issues/1731#issuecomment-174227054

可以使用CLI重新定义files数组:

lazy private var placeholderImage: UIImage = UIImage(named: "theImage")!

或转义:

karma start --files=Array("test/Spec/services/myServiceSpec.js")

<强>参考

相关问题