如何在RhinoMocks中强制执行存根对象,为其上的void方法返回void?
举个例子:
public interface ICar
{
string Model {get;set;}
void Horn();
}
ICar stubCar= MockRepository.GenerateStub<ICar>();
stubCar.Expect(c=>c.Horn()).Return( //now what so that
// it returns nothing as the meth. returns void ?
答案 0 :(得分:8)
方法不能返回一个值 - 它是一个void方法。 CLR不会让尝试返回一个值。你不需要为此进行测试。
您只需要Expect
来电。
答案 1 :(得分:6)
对于void方法调用,Return()
方法无效。相反,你想要这样的东西:
ICar stubCar= MockRepository.GenerateStrictMock<ICar>();
stubCar.Expect(c=>c.Horn());
stubCar.DoSomethingThatIsSupposedToCallHorn();
stubCar.VerifyAllExpectations();
将告诉您是否调用了Horn()
。
这就是测试单元测试时调用void方法的方法。您执行以下操作:
Expect()
)