Node.js 将Mocha测试与源文件放在一起

Node.js 将Mocha测试与源文件放在一起,node.js,unit-testing,mocha.js,Node.js,Unit Testing,Mocha.js,我目前在src中有我的NodeJS源文件,在test中有测试套件,例如: /src/bar/baz/foo.js /test/bar/baz/foo.spec.js 这导致了笨拙的require语句,如var foo=require('../../../src/bar/baz/foo')。而且很难一目了然地看出哪些源文件缺少测试。我希望将我的测试套件保留在与相关源文件相同的目录中: /src/bar/baz/foo.js /src/bar/baz/foo.spec.js 但是现在运行moch

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

/src/bar/baz/foo.js
/test/bar/baz/foo.spec.js
这导致了笨拙的require语句,如
var foo=require('../../../src/bar/baz/foo')
。而且很难一目了然地看出哪些源文件缺少测试。我希望将我的测试套件保留在与相关源文件相同的目录中:

/src/bar/baz/foo.js
/src/bar/baz/foo.spec.js
但是现在运行
mocha——递归src
会导致错误,因为mocha试图将我的源文件作为测试运行


我看到过使用
find
gulp
来过滤文件列表的建议,但我发现用纯摩卡咖啡做不到这一点令人惊讶。以这种方式组织文件的推荐方式是什么?

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

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

这将在
src

的所有子目录中运行
.spec.js
文件,非常简单!双引号可能会阻止shell扩展模式,让Mocha的
glob
来完成。