使用基类进行单元测试设置和拆卸

时间:2009-01-27 14:11:39

标签: .net unit-testing mstest

假设Visual Studio.NET 2008和MsTest用于运行单元测试。当系统基于服务容器并且依赖注入单元测试时,自然需要建立服务。

这些服务是否应该在基类中设置,所有单元测试都来自或在每个单元测试类中。如果它们应该在基类中,是否有办法执行TestInitializeClassInitialize方法而不需要从派生类调用它们,例如base.Initialise?

3 个答案:

答案 0 :(得分:8)

MSTest框架将搜索整个对象(所有基类)以查找标记为Test*的方法。就像在单元测试类中声明它们一样,您不必明确地调用它们。

答案 1 :(得分:5)

使用2008,您应该能够在基类上使用[TestInitialize],并且只要您不在层次结构中的某处添加另一个[TestInitialize],就应该调用它。您也可以使用虚拟方法执行操作。

答案 2 :(得分:0)

我更喜欢将Test*Class*标记的方法放在实际的单元测试类上。如果在基类上定义它们,则无法向它们添加特定于测试的活动。相反,在基类上使用静态和实例构造函数和终结器。