gpt4 book ai didi

java - 重新实现返回原始类型的方法

转载 作者:行者123 更新时间:2023-11-28 21:09:14 25 4
gpt4 key购买 nike

我需要用 EasyMock 重新实现一个 mock 方法。该方法被定义为返回一个原始值。

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

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

这种方法不适用于我,因为我需要使用原始返回类型

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

  • 我模拟的是一个类,而不是一个接口(interface)
  • 当使用 andDelegateTo 时,我必须创建模拟类型的匿名类,它将调用它的构造函数之一,这不是我的情况的选项。

最佳答案

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

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

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

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

关于java - 重新实现返回原始类型的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40592840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com