重新实现 returns 原始类型的方法

Re-implementation of method which returns primitive type

我需要使用 EasyMock 重新实现模拟方法。该方法被定义为 return 原始值。

对于模拟的重新实现方法,EasyMock 用户指南推荐这种方式:

  expect(l.remove(10)).andAnswer(new IAnswer<String>() {
    public String answer() throws Throwable {
      return getCurrentArguments()[0].toString();
    }
  });

这种方法对我不适用,因为我需要使用primitive return类型.

在指南中,还有另一种方法andDelegateTo。我需要使用 andAnswer 方法,而不是 andDelegateTo,因为:

使用原始类型的包装器class,例如:

List listMock = EasyMock.createMock(List.class);

EasyMock.expect(listMock.isEmpty()).andAnswer(new IAnswer<Boolean>() {

    @Override
    public Boolean answer() throws Throwable {
        return true;
    }
});