对于返回值非空的函数(包括构造器),可以通过result
设置返回值或抛出异常,该值在replay阶段生效。
可以record多个结果,
mockObject.mockMethod();
result = new Object();
result = new Object();
result = new SomeException();
等价于
mockObject.mockMethod();
returns(new Obejct(), new Object());
result = new SomeException();
Note:
- 返回值可以使用returns()函数,异常值必须要使用result。
- 异常值需要在CodeUnderTest中捕获,否则无法通过测试。
- 假设在StrictExpectations中录制了n个结果,在replay阶段并不强制要求调用n次该函数,调用1次即可。