[英]Best location for unit test code
我有一个多项目解决方案,我希望将单元测试应用到。 该项目封装良好,大多数单元测试仅使用他们正在测试的项目中的类。
我还有一些集成测试用例,用于测试多个项目的交互。
显然,我可以将所有测试代码放在一个单独的项目中,但我对创建一个在整个解决方案中具有依赖关系的Great Project的想法持谨慎态度。
为每个项目中的单元测试创建一个私有类是否更好,并且有一个单独的集成测试项目? 或者没有明显的建筑效益?
您应该将单元测试放入单独的程序集中。 通过这样做,您可以确保它们不属于任何已发布的产品。
如果您采用的惯例是测试项目的名称中包含单词Test
,那么在最终构建输出中删除外卡是一件简单的事情,以确保您不会发送测试程序集。
我对创建一个通过整个解决方案具有依赖性的Great Project的想法持谨慎态度
随着您的解决方案规模的扩大,您可以将测试分解为针对应用程序特定区域的程序集 - 您可以从单片测试程序集开始,然后在有意义的时候将其拆分。
拥有使用包含大约110个项目(包括单元测试项目)的解决方案的经验,我可能需要添加一些内容
我使用过的一个实现使用了类似这样的项目结构:
- CompanyName.Feature
- CompanyName.Fetaure.Test.Unit
- CompanyName.Feature.Test.Integration
- CompanyName.Feature.Test.Load
- etc...
与整体测试项目相比,这种粒度级别是一种改进; 但是,我觉得有更好的方法
而不是打破所有测试, 而是确保您按功能测试功能。 那时我会很自在地将我的单元和集成测试放在同一个项目中,映射到不同的文件夹。 理想情况下是这样的:
- CompanyName.Feature
- CompanyName.Feature.Test
\Unit
\Integration
\Load
\etc...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.