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

sdu*_*ooy 12 .net unit-testing mstest

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

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

Ant*_*ean 8

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

  • 类*方法将始终标记为静态,因此不会从派生类调用.将调用Test*方法,因为它们是实例方法. (2认同)

Dom*_*ton 5

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