使用rhino模拟测试从抽象类到基类的调用

时间:2010-02-25 14:11:23

标签: unit-testing rhino-mocks

如果有以下课程

public abstract class MyBaseClass : BaseClass
{
    public override string Test(string value)
    {
        return value == null ? value : base.Test(value);
    }
}

使用部分模拟我实际上可以测试测试代码的第一部分(值为null)。是否有可能测试这样一个事实,即当值!= null?

时,实际上是对基类的调用完成了

2 个答案:

答案 0 :(得分:6)

不,你不能这样做,因为你的Test方法已经覆盖了基本方法,并且没有普通的dymaic mock可以拦截MyBaseClass.Testbase.Test的调用。

Here's a more detailed explanation,虽然它与Moq有关。但是,同样的论点适用于Rhino Mocks和here's why

答案 1 :(得分:0)

为什么你甚至需要对这段代码进行行为测试,并通过模拟让你的生活变得艰难?这似乎是基于状态的测试的一个很好的候选者:您提供输入(值)并在方法的输出上进行断言。很多时候保持简单可以节省一天。