2015-06-18 54 views
1

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

我倾向于每个实际项目有两个测试项目,例如ProjectName.Tests.UnitProjectName.Tests.Integration,但是看起来每个代码项目都会有太多测试项目。 但是,替代方案是将所有测试放在2个测试项目中,这看起来更糟糕。

有人可以评论你(你)将如何在你的解决方案中构建单元和集成测试吗?

+2

通常我会建议为每个项目创建一个测试项目。集成测试项目通常不是为每个项目创建的。您可以创建单个集成测试项目,也可以创建一个集成测试的每个功能的集成测试。 –

回答

3

由于有很多的周围最佳实践问题答案是真的,它取决于...

如果你有很多项目,其中每个项目都有一些不太重要的类,那么为你的每个项目建立一个集成测试项目和一个单元测试项目看起来就像是矫枉过正。

如果您正在编写一个大型基础架构,并将其划分为独立区域,坐在服务之下,那么为每个服务集成测试项目以便有效地包含功能和组织测试可能是有意义的。

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

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

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

2

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

+0

这就是我正在做的和超级有用的。 –