我在C#中使用Rhino Mocks 3.6并且在模拟对象而不是接口时遇到问题。 有人可以解释为什么在定义期望时实际调用方法?
public class MockingBird
{
public void TestMethod()
{
throw new Exception("Method call!");
}
}
...
[TestMethod]
public void TestMock()
{
var mockedMockingBird = MockRepository.GenerateStrictMock<MockingBird>();
mockedMockingBird.Expect(x => x.TestMethod());
}
答案 0 :(得分:5)
您无法模拟不可覆盖的方法。在创建模拟实例时,Rhino执行以下操作:
实际上,您只能模拟类的virtual
/ abstract
方法和接口的任何成员。
请记住,所有免费模拟框架都存在此限制。