【问题标题】:How to mock arrays in EasyMock如何在 EasyMock 中模拟数组
【发布时间】:2015-09-01 12:18:17
【问题描述】:

我正在尝试模拟 EasyMock 中的对象数组,但出现空指针异常或根本不工作。

getArgs() 是一个对象数组。使用下面的行,对象数组被模拟。

EasyMock.expect(invMock.getArgs()).andReturn(new Object[] {to});

在下面的行中,我设置了数组对象的长度,但得到了`空指针异常。

EasyMock.expect(invMock.getArgs().length).andReturn(1);

谁能帮我解决这个问题。

【问题讨论】:

  • 愚蠢的问题:你调用 EasyMock.replay() 了吗?
  • @Christopher.. 是的。 EasyMock.replay() 被调用。

标签: java arrays easymock


【解决方案1】:

这不是它的工作方式。

您期望invMock.getArgs() 返回一个包含一个元素的数组。这是由您的第一行完成的。

您不需要记录长度。您的数组 new Object[] {to} 是一个长度为 1 的实际数组。

【讨论】:

  • 非常感谢您的回复.. Henri。 EasyMock.expect(invMock.getArgs()).andReturn(new Object[] {to}).anytimes() 解决了这个问题。
  • 太棒了。如果你不关心它被调用了多少次,你也可以使用EasyMock.expect(invMock.getArgs()).andStubReturn(new Object[] {to})
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多