我们有几个使用名为 DogService 的项目的解决方案,他们将此项添加为解决方案内的项目参考。
如果我想为 DogService 创建单元测试并将其命名为 DogService.Tests ,我会在哪里实际放置此项目?
项目的单元测试是否应包含在引用项目的每个解决方案中?
答案 0 :(得分:1)
取决于您如何使用DogService。但是如果狗服务的任何变化都可以来自任何解决方案,那么每个解决方案都应该添加单元测试。一般来说,构建库像
/Lib
/DogService
/DogService
/DogServiceTests
/MainProject/...
这已经过优化,可以很好地适用于: -
https://github.com/ingydotnet/git-subrepo
然后,连续构建工具将其构建为拉取请求的一部分,并运行所有库的测试,以便它可以合并到每个库的主服务器中。
或者,使用私有nuget存储库将库分发为预构建的程序集。如果这样做,则无需在每个解决方案中进行测试。唯一的缺点是,在多个库中进行更改可能会更麻烦一些