如何强制一个void方法从存根对象返回void ?
本文关键字:void 方法 存根 对象 返回 一个 何强制 | 更新日期: 2023-09-27 18:10:52
如何在RhinoMocks中强制stub对象为其上的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 ?
方法不能返回值-它是一个void方法。CLR不会让尝试返回值。你不需要测试这个
您只需要Expect
呼叫
Return()
方法对于void方法调用无效。你应该这样做:
ICar stubCar= MockRepository.GenerateStrictMock<ICar>();
stubCar.Expect(c=>c.Horn());
stubCar.DoSomethingThatIsSupposedToCallHorn();
stubCar.VerifyAllExpectations();
将告诉您是否调用了Horn()
。
这就是你测试单元测试时调用void方法的方式。您可以执行以下操作:
- 设定期望(
Expect()
) - 调用应该调用期望的方法
- 验证是否调用了预期的方法。