是否更容易将测试文件放在他们测试的源文件旁边(在同一个src
目录中),还是应该创建一个带镜像层次结构的单独tests
目录?
将它们放在同一个文件夹中似乎可以使维护生活更轻松,但也会挤占源目录。
选项1:为源和测试分别设置文件夹时的目录结构:
- src
+-- item.ts
`-- util
+-- helper.ts
- test
+-- item.test.ts
`-- util
`-- helper.test.ts
选项2:将两种类型的文件放在同一目录中时的目录结构:
- src
+-- item.ts
+-- item.test.ts
`-- util
+-- helper.ts
`-- helper.test.ts
我曾经一直使用选项1,直到尝试angular-cli
并让它与测试文件一起生成代码文件,如选项2所示,这让我重新思考整个事情。
答案 0 :(得分:12)
选项#2是我的方式。
在考虑Angular 2组件时,我认为它们是一个单独的实体,由多个文件组成。您不能将HTML / CSS文件移到远离组件的其他目录中,那么为什么要移动单元测试?
我为VSCode编写了一个小实用程序插件,我个人认为它非常有用 - 它将Angular 2组件压缩到Explorer视图中的单个条目中,并添加图标/上下文菜单选项以获取模板/ css /单元测试。这有助于我将组件视为一个单元,包含多个部件。也许这样的东西可以帮助保持你的目录"清洁"如果你担心的是什么?
我鼓励您将单元测试视为代码的一部分,而不是除了。如果你能掌握它们,它们将非常有用。
答案 1 :(得分:10)