在调用给定的模拟 void 方法时执行自定义操作 (EasyMock)

Performing a custom action when a given mocked void method is called (EasyMock)

我希望能够在调用给定的 void 方法时执行自定义操作。

例如:-

private IMocksControl control;
private Map<String, Double> dataMap = new HashMap<>();
private Abc abc;

public void setup(){
  control = EasyMock.createControl();
  abc = control.createMock(Abc.class);
}

假设 class Abc 中有一个我想使用的 void 方法。但是当调用该方法时,我想在 dataMap 哈希图中放置一个条目。

有什么建议吗?

我不完全记得 EasyMock 1 的代码(现在已经过时 10 多年了)但是应该有一个 control.andAnswer() 在那里你可以做类似的事情:

abc.method();
control.andAnswer(new IAnswer() {
    dataMap.put(...);
});