摩卡没有在测试目录中运行所有测试

时间:2016-01-07 08:15:19

标签: node.js unit-testing testing mocha chai

这是我的文件夹结构

src/
   a.js
   b.js
   test/
     a.spec.js
     b.spec.js

我尝试过

  1. ~/.../src $ mocha
  2. ~/.../src $ mocha test
  3. ~/.../src $ mocha test/
  4. ~/.../src $ mocha ./test/
  5. ~/.../src $ mocha ./test/*.js
  6. 但没有工作......我得到的只是一个测试文件正在运行,其余的都被忽略了。

    docs说(1)应该完成这项工作,但事实并非如此。

3 个答案:

答案 0 :(得分:18)

嗯......我是个白痴。我的一个文件中有it.only,我忘记了。删除.only就是答案。所有测试文件现在都在运行。

对不起,对我感到羞耻......

答案 1 :(得分:6)

它是这样构建的,所以如果你正在对它们进行开发,你可以只在一两个文件上运行你的测试套件。如果您想在整个项目中运行mocha,请指定--recursive

您可以看到一些文档here

更好的是,您可以在package.json中为CD指定它。首先执行npm install mocha --save-dev,然后将其放入package.json文件中,然后运行npm test

{
  "scripts": {
    "test": "./node_modules/.bin/mocha --recursive",
  }
}

答案 2 :(得分:-1)

在test目录下创建一个moch.opts文件并添加递归选项

- 递归

运行〜/.../ src $ mocha命令;它应该工作。