我有一个MVC项目,其中控制器由两个基类中的以下结构得出:构建测试为继承架构
Global Base Controller
|
|--------------------|
Type1 Type2
| |
|--------------------------------------|
Controller1/Controller2 Controller3/Controller4
我想设置我的单元测试,这样我只测试任何重写方法在控制器1/2/3/4中,以便我坚持DRY主体。这意味着如果我将测试添加到Global Base Controller
中,它们将会沿着链条进一步应用。
用NUnit/msTest实现这一点的最佳方法是什么?
我试图在与试验按下面的例子相同的结构,但是基部测试没有拿起:
public class ControllerTestClass<T>
{
public class ForThisMethod
{
[Test]
public void WhenThisCondition_HasThisValue()
{
Assert.IsAssignableFrom<T>("");
}
}
}
public class UnitTest2 : ControllerTestClass<String>
{
[TestFixture]
public class ForThisMethod2
{
[Test]
public void WhenThisCondition_HasThisValue()
{
Assert.True(true);
}
}
}
利用上述结构时,可以看到测试资源管理器执行以下操作:
注:我知道,在这样的测试将需要的新功能开发人员添加额外的测试。这很好,并将写入项目说明。