Node.JS:测试代码与生产代码组织
粗略查看Github上的几个node.js项目,我注意到常见的惯例是将测试文件放在Node.JS:测试代码与生产代码组织,node.js,unit-testing,Node.js,Unit Testing,粗略查看Github上的几个node.js项目,我注意到常见的惯例是将测试文件放在/spec目录下(确切名称可能有所不同:/tests,/specs,等等)。让我们称之为“经典”项目组织 另一方面,还有(至少在理论上)本地化组织:每个测试文件与它测试的生产文件位于同一目录中(例如,在/controllers下,我们将有login\u controller.js以及login\u controller.spec.js) 为了避免在这个明显主观的话题上发生神学之争,我将提出具体的问题: 有人看到过
/spec
目录下(确切名称可能有所不同:/tests
,/specs
,等等)。让我们称之为“经典”项目组织
另一方面,还有(至少在理论上)本地化组织:每个测试文件与它测试的生产文件位于同一目录中(例如,在/controllers
下,我们将有login\u controller.js
以及login\u controller.spec.js
)
为了避免在这个明显主观的话题上发生神学之争,我将提出具体的问题:
- 有人看到过使用本地化组织的主要模块/应用程序吗
- 本地化组织是否存在严重缺陷/限制?我所说的“硬”是指“Heroku在其部署包(也称为slug)中不包含specs/目录,因此传统组织在服务器上的占地面积较小”李>
- 是否有测试框架(Mocha、jasmine node和co.)以某种方式强加了“经典”方案
这里的一致性比你决定的方向更重要。在源文件旁边的测试文件中,我看到了一些相对较小的问题