java - 多次捕获预期方法调用的参数(EasyMock)

标签 java junit easymock

我的测试中有以下行:

Capture<MyType> myCapture = Capture.newInstance();
expect(myMockedObject.myMethod(capture(myCapture)).andReturn(...).times(2);

当模拟得到验证但 myCapture.getValues().size() 返回 1 时,此预期通过。我期待每个方法调用的捕获。如何捕获两个方法调用的参数?

最佳答案

有一个名为 CaptureType 的参数,用于确定捕获的内容。默认情况下,此参数设置为 CaptureType.LAST,它仅捕获最后调用的方法参数。要解决此问题,请像这样创建捕获:

Capture<MyType> myCapture = Capture.newInstance(CaptureType.ALL);

关于java - 多次捕获预期方法调用的参数(EasyMock),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31204847/

相关文章:

java - 设置迭代器的 Java 泛型

java - 我如何根据每个队列的内容值来判断两个 Java 队列是否相等?

java - 获取十六进制数

java - 在单元测试中测试私有(private)组件

java - 使用 EasyMock 测试方法的异常

java - 使用 Mockito、EasyMock 等进行 JUnit 模拟

java - 类、对象、引用变量在 Java 中存储在哪里。在堆中还是在堆栈中?堆或堆栈位于何处?

java - Mockito (Junit) 无法迭代 JSONArray 对象

android - 将 Android 库项目添加到 Eclipse 构建路径?

java - 通过比较器模拟排序列表 (EasyMock)