【发布时间】:2009-03-13 09:58:53
【问题描述】:
我现在有一个这样的类:
public class MyClass {
public void Method1(){
if (false) {
Method2();
}
}
public void Method2(){
//do something here
}
}
所以 Method2 永远不会被调用(我的代码看起来有点不同,但我有这个 if 子句的计算结果为 false,因此不执行 Method2。通过调试检查它以确定)。我想告诉 RhinoMocks 我希望 Method2 被调用并且测试失败:
MockRepository mock = new MockRepository();
MyClass presenter = mock.PartialMock<MyClass>();
Expect.Call(() => presenter.Method2()).IgnoreArguments();
mock.ReplayAll();
presenter.Method1();
mock.VerifyAll();
...但是测试通过了。
(Expect.Call 中的 lambda 表达式的原因是,我的实际 Method2 有参数)
我的问题:
- 这是在这种情况下进行测试的常用方法吗? (我只是从 RhinoMocks 和一般的模拟框架开始)
- 为什么测试通过了?
【问题讨论】:
标签: c# rhino-mocks