.net中的单元和集成测试组织

时间:2015-06-18 12:33:22

标签: c# .net unit-testing

在您的解决方案中组织单元和集成测试的最佳做法是什么?

我倾向于为每个实际项目提供2个测试项目,并命名为ProjectName.Tests.UnitProjectName.Tests.Integration,但是每个代码项目看起来会有太多的测试项目。 然而,替代方案是将所有测试放在2个测试项目中,这看起来更糟糕。

有人可以评论您(如果)在解决方案中构建BOTH单元和集成测试的方式吗?

2 个答案:

答案 0 :(得分:4)

关于最佳实践的许多问题,答案实际上取决于......

如果你有很多项目,每个项目都有一些不太重要的课程,那么为你的每个项目准备一个集成测试项目和一个单元测试项目就好了像矫枉过正。

如果您正在编写一个分解为离散区域的大型基础架构,坐在服务之下,那么为每个服务进行集成测试项目以包含功能可能是有意义的并有效地组织你的测试。

如果您的项目各自代表可以独立进行合理集成测试的离散功能,那么为每个项目建立一个集成项目可能是有意义的。

这确实取决于你的情况以及为什么要将项目分开。

如果您还没有这样做,您应该考虑的替代方法是使用TestCategories / Traits来区分您的测试。这允许您将整个测试类/夹具或单个方法标记为特定的测试类别(例如数据库集成),然后在构建过程中打开/关闭这些测试。

答案 1 :(得分:2)

我以前做的是为我的解决方案中的每个代码项目创建一个文件夹。 在此文件夹中,我创建了三个项目:  代码项目  2.集成测试  3.单元测试