2016-09-21 97 views
-1

我们有几个解决方案使用名为DogService的项目,并且他们在解决方案中添加了该项目作为项目参考。测试项目应该放在哪里?

如果我想为DogService创建单元测试,并调用它DogService.Tests,在那里我会在空间上这个项目?

单元测试项目是否应包含在每个参考项目的解决方案中?

+1

IMO,它们应该放置在与DogService项目相同的解决方案中。简单引用DogService.dll的项目不应该测试DogService项目本身。 – itsme86

+0

@ itsme86多个解决方案都将DogService引用为项目引用,是否所有解决方案都获得测试项目? –

+1

答案纯粹是基于观点的,但由于您使用的是_project_引用并且能够更改代码,因此您应该包含单元测试项目,以便在代码更改时更新和运行单元测试。 –

回答

1

取决于您如何使用DogService。但是,如果dogservice的任何更改可能来自任何解决方案,那么每个解决方案都应该添加单元测试。在像

/Lib 
     /DogService 
      /DogService 
      /DogServiceTests 

    /MainProject/... 

一般结构库,这是优化一道很好地工作: -

https://github.com/ingydotnet/git-subrepo

另外,持续构建工具然后建立它作为一个拉请求的一部分,并运行所有测试所以它可以被合并到每个库的主文件中。

或者,使用私人nuget存储库将您的库作为预建的程序集分发。如果您这样做,则无需在每个解决方案中进行测试。唯一的缺点是它可能会在多个库上进行更改更麻烦一些

+0

如果您愿意在这个时间点使用gitsubrep,使用branch'issue/142' –