Rhino - 模拟类而不是覆盖虚方法

Ada*_*kis 5 c# rhino-mocks rhino-mocks-3.5

如果我正在嘲笑一个类,如下所示,有什么方法可以让模拟重写虚方法?我知道我可以简单地删除虚拟修饰符,但我实际上想要稍后删除此方法的行为.

换句话说,除了删除虚拟修饰符之外,我怎么能让这个测试通过:

namespace Sandbox {
    public class classToMock {
       public int IntProperty { get; set; }

       public virtual void DoIt() {
           IntProperty = 1;
       }
}

public class Foo {
    static void Main(string[] args) {
        classToMock c = MockRepository.GenerateMock<classToMock>();
        c.DoIt();

        Assert.AreEqual(1, c.IntProperty);
        Console.WriteLine("Pass");
    }
}
Run Code Online (Sandbox Code Playgroud)

}

Lee*_*Lee 5

您想使用部分模拟,它只会在创建期望时覆盖该方法:

classToMock c = MockRepository.GeneratePartialMock<classToMock>();
c.DoIt();

Assert.AreEqual(1, c.IntProperty);
Run Code Online (Sandbox Code Playgroud)