将测试文件存储在模块本身的位置是否可以:
假设我有一个结构:
project\
module1\
submodule\
submodule.js
submodule.test.js
或者最好建立一个重复项目结构的独立位置:
project\
module1\
submodule\
submodule.js
tests\
module1\
submodule\
submodule.js
我见过两种变体。应该考虑哪些因素?
答案 0 :(得分:6)
项目非常普遍地将测试保存在一个单独的位置,但不必重复项目结构。测试结构通常比项目结构更平坦。
你可以看到人们如何做到这一点的一些例子:
https://github.com/visionmedia/express
https://github.com/learnboost/mongoose
https://github.com/mbostock/d3
至于为什么这样做,它使得执行测试更容易,因为它们都在一个文件夹中,并且由于源文件和测试文件没有混合,因此包装代码更容易。在执行代码覆盖构建等操作时,它也会有所帮助,因为您需要检测所有源文件,但不想检测测试代码。
一般来说,每当我对项目结构有疑问时,我只会看看GitHub上的热门项目并大量借用:)