从粗略看看Github上的几个node.js项目,我注意到常见的惯例是将测试文件放在./spec
目录下(具体名称可能会有所不同:./tests
,{{1}等等)。我们称之为“经典”项目组织。
另一方面,还有(至少在理论上)“本地化”组织:每个测试文件与它测试的生产文件位于同一目录中(例如,在./specs
下我们将./controllers
1}}以及login_controller.js
)。
为了避免在这个明显主观的话题上进行神学上的争斗,我会提出具体的问题:
答案 0 :(得分:2)
这里的一致性比你决定的方向更重要。我看到一些相对较小的问题与源文件旁边的测试文件一起使用。
潜在的代码导航问题。我有时会看到你打开 事故中的错误文件。打开测试文件的意思是 打开源文件等。如果这些文件会更频繁发生 文件是并排的,唯一的区别是.spec在 文件名。
单元测试跑步者的潜在问题。大多数单位测试跑步者似乎 默认情况下更喜欢测试文件夹。我相信你可以配置 他们看整个项目,但这取决于测试 转轮。
单位测试自动化速度可能较慢。因为您的测试文件是 在整个项目中混合,测试运行器必须扫描 整个项目用于测试文件而不是专用目录。 对于大型代码库,这可能意味着您的测试需要更长的时间 套房完成。机会是速度的差异是相当的 但是很小。
正如我所说,这些都是小问题,你绝对可以解决它们,但它确实增加了一些摩擦力。您必须权衡潜在的缺点与您认为将测试文件驻留在源文件旁边的好处。
答案 1 :(得分:1)