问题 将Mocha测试与源文件一起保存


我目前有我的NodeJS源文件 src 和测试套件 test,例如:

/src/bar/baz/foo.js
/test/bar/baz/foo.spec.js

这会导致尴尬的需求声明,如 var foo = require('../../../src/bar/baz/foo')。而且很难一目了然地看到哪些源文件缺少测试。我想将测试套件保存在与相关源文件相同的目录中:

/src/bar/baz/foo.js
/src/bar/baz/foo.spec.js

但现在正在运行 mocha --recursive src Mocha尝试将源文件作为测试运行时导致错误。

我见过使用的建议 find 要么 gulp 过滤文件列表但我发现令人惊讶的是,用普通的Mocha无法做到这一点。以这种方式组织文件的推荐方法是什么?


3488
2018-06-29 14:29


起源



答案:


只需将测试文件的模式传递给mocha,如:

mocha "src/**/*.spec.js"

这将是运行的 .spec.js 所有子目录中的文件 src


15
2018-06-29 17:04



很简单!双引号可能会阻止外壳扩展模式并让Mocha's glob 做到这一点。 - Tamlyn


答案:


只需将测试文件的模式传递给mocha,如:

mocha "src/**/*.spec.js"

这将是运行的 .spec.js 所有子目录中的文件 src


15
2018-06-29 17:04



很简单!双引号可能会阻止外壳扩展模式并让Mocha's glob 做到这一点。 - Tamlyn