如何使用Karma运行单元测试的子集Gulp-Angular?

时间:2016-04-06 18:05:46

标签: javascript angularjs unit-testing karma-runner karma-jasmine

我正在开发一个由Gulp-Angular自制生成器创建的AngularJS 1.4项目。它已经配置了karma和gulp,这样当我从命令行运行 gulp test 时,karma会运行我所有的* .spec.js文件。我的问题是它总是在整个项目中运行我的所有spec.js文件。我想只运行一个或两个spec.js文件 - 甚至可以更好地指定一个文件夹并让它以递归方式查找所有spec.js文件。

  • 我已经尝试过cd到文件夹,但它仍然可以运行所有测试。

  • 我也尝试在karma.conf.js中编辑这一行: path.join(conf.paths.src,' / ** / * .spec.js'),

  • 和gulp目录中的unit-tests.js文件中的这一行: path.join(conf.paths.src,' / ** /!(*。spec).js')

然而,当我编辑它们时,我仍然可以在整个项目中运行所有测试套件!啊!

必须有办法去做我想做的事情。任何人都可以帮我解决正确的方法吗?

1 个答案:

答案 0 :(得分:0)

Karma是测试运动员。 Yeoman的gulp-angular生成器使用Jasmine作为测试者。

搜索文件jasmine.json。

"spec_dir""spec_files"部分,如下所示:

  "spec_dir": "./",
  "spec_files": [
    "**/*[sS]pec.js"
  ],

修改它以满足您的需求。我猜测了一些事情:

  "spec_dir": "./some_specific_path",
  "spec_files": [
    "**/*[sS]pec.js"
  ],

或者如果你想从根目录逐步进行:

  "spec_dir": "./",
  "spec_files": [
    "some_specific_path_1/**/*[sS]pec.js",
    "some_specific_path_2/**/*[sS]pec.js"
  ],