如何使用EasyMock测试void方法

KWJ*_*104 19 java junit unit-testing easymock

我已经看到了一些关于此的问题,但我似乎无法理解我的特定问题的任何答案.

我有一个模拟对象,让我们调用"object1",我发送给一些方法进行测试,让我们调用testMethod().所以我最终打电话了

testMethod(object1);
Run Code Online (Sandbox Code Playgroud)

用于检测.现在,在这个testMethod的某个地方,将会有一个调用方法的部分

object1.toggleDisplay();
Run Code Online (Sandbox Code Playgroud)

这是一种无效方法.如果方法是这样的

object1.getDisplay()
Run Code Online (Sandbox Code Playgroud)

实际上它返回的地方,我通常会这样做

EasyMock.expect(object1.getDisplay()).andReturn(whatever);
Run Code Online (Sandbox Code Playgroud)

但是,这是一个无效方法,我想测试一下,确实已经调用了一定次数.最简单的方法是什么?

谢谢

hvg*_*des 22

如果在过去几年中事情没有改变,那么expectLastCall在设定期望时就会使用.

object1.toggleDisplay();
object.expectLastCall();
Run Code Online (Sandbox Code Playgroud)


pal*_*int 10

object1.toggleDisplay();
EasyMock.expectLastCall().times(5);
Run Code Online (Sandbox Code Playgroud)

或者如果静态导入EasyMock方法:

import static org.easymock.EasyMock.*;

[...]

object1.toggleDisplay();
expectLastCall().times(5);
Run Code Online (Sandbox Code Playgroud)