如何在我的测试的“行为”部分中调用模拟,而忽略在测试的“排列”部分中对模拟的任何调用。RhinoMocks:清除或重置AssertWasCalled()
[Test]
public void ShouldOpenThrottleWhenDrivingHome()
{
var engineMock = MockRepository.GenerateStub<IEngine>();
var car = new Car(engineMock);
car.DriveToGroceryStore(); // this will call engine.OpenThrottle
car.DriveHome();
engine.AssertWasCalled(e => e.OpenThrottle());
}
我不想尝试的注入新鲜的模拟或依靠.Repeat(),因为测试则必须知道该方法被调用的次数的设置。
这个问题已经被问到:http://stackoverflow.com/questions/770013/rhino-mocks-how-to-clear -previous-expectations-on-an-object –
我再次读过这个问题 - 它可能不是重复的,但我不确定问题究竟是什么。 ClearStub()应该做什么?存根初始化在哪里? –
是的,这不是一个复制。我编辑了这个问题,希望它更清楚。 –