我开始为一个非常大的Visual Studio解决方案开发和组织测试。 (是的,我知道测试应该与代码一起开发,而不是在项目接近完成时开发,但事情就是它们。)
我在Visual Studio解决方案中看到了有关组织单元测试的类似问题,但我也没有看到任何地址集成测试。我希望得到关于在何处放置测试项目的一些指导,以便它们不会混乱已经很大的代码库。
这是解决方案中基本的事物层次结构。 (所有未以.proj结尾的项目都是项目或解决方案文件夹中的文件夹。)
我的想法是创建一个名为“Tests”的解决方案文件夹,然后模仿上面的层次结构,为每个生产代码项目制作一个测试项目。在每个测试项目中,我将创建名为“UnitTests”和“IntegrationTests”的文件夹。
我的重点是创建一致的命名/组织方案,以便不会对新测试应该去哪里以及在哪里找到现有测试存在歧义。鉴于这个项目/应用程序的大小,我想让结构非常坚固,以便以后不会感到痛苦。
感谢您的时间和建议。
答案 0 :(得分:2)
我们公司采用的命名惯例是使用projectName.Tests.Unit
和projectName.Tests.Integration
。
使用现有结构,你会得到类似的东西:
如果将测试文件夹与根文件夹一起保存,则不必再次模拟完整的结构,因为测试对应于相应的项目。
旁注
通过让项目名称具有一致的Tests.Unit,它有助于在构建脚本中运行单元测试,因为您可以使用通配符搜索来运行测试,例如**\*tests.unit*.dll
在一天结束时,项目结构可能非常主观,因此在您的环境中做有意义的事情并对您的团队有意义。