我开始为一个非常大的 Visual Studio 解决方案开发和组织测试。(是的,我知道测试应该与代码一起开发,而不是在项目接近完成时进行,但事情就是这样。)
我已经看到有关在 Visual Studio 解决方案中组织单元测试的类似问题,但我也没有看到任何解决集成测试的问题。我会很感激一些关于在哪里放置测试项目的指导,这样它们就不会弄乱已经很大的代码库。
这是解决方案中事物的基本层次结构。(所有不以 .proj 结尾的项目都是项目中的文件夹或解决方案文件夹。)
- 硬件服务
- 硬件服务1
- HardwareService1.Core.proj
- HardwareService1.Host.proj
- HardwareService1.Service.proj
- 硬件服务2
- HardwareService2.Core.proj
- HardwareService2.Host.proj
- HardwareService2.Service.proj
- 硬件服务1
- 基础设施
- MyApp.Database.proj
- MyApp.Infrastructure.proj
- MyApp.ReportViewer.proj
- MyApp.SettingsManager.proj
- 应用模块
- AppModule1.proj
- 常见的
- 报告
- 服务
- 视图模型
- 意见
- AppModule2.proj(与其他 AppModule 类似的结构)
- AppModule3.proj(与其他 AppModule 类似的结构)
- AppModule1.proj
- 模块
- 计算引擎.proj
- 页脚项目
- 头文件.proj
- CommonServices.proj
我的想法是制作一个名为“Tests”的解决方案文件夹,然后模仿上面的层次结构,为每个生产代码项目制作一个测试项目。在每个测试项目中,我会创建名为“UnitTests”和“IntegrationTests”的文件夹。
我的重点是创建一个一致的命名/组织方案,以便在新测试应该去哪里以及在哪里找到现有测试方面没有歧义。鉴于这个项目/应用程序的规模很大,我希望结构非常坚固,这样以后就不会痛苦了。
感谢您的时间和建议。