JavaScriptunit testing:在哪里保留testing/规格文件(客户端和节点)

将testing文件存储在模块本身的位置是可以的:

可以说我有一个结构:

project\ module1\ submodule\ submodule.js submodule.test.js 

或者build立一个独立的地点,重复项目的结构:

 project\ module1\ submodule\ submodule.js tests\ module1\ submodule\ submodule.js 

我见过两个变种。 应该考虑什么?

项目相当普遍地保持testing在一个单独的位置,但不一定重复项目结构。 testing结构通常比项目结构更扁平。

你可以看到一些人们如何做的例子:
https://github.com/visionmedia/express
https://github.com/learnboost/mongoose
https://github.com/mbostock/d3

至于为什么这样做,它使得执行testing更容易,因为它们都在一个文件夹中,并且使得打包代码更容易,因为源文件和testing文件不是混合的。 它也可以帮助你在做代码覆盖的时候,因为你需要testing所有的源文件,但不想testing你的testing代码。

一般来说,每当我对项目结构有疑问的​​时候,我只是看看GitHub上stream行的项目,并且自由地借用:)