【问题标题】:Mocking of a list模拟列表
【发布时间】:2016-02-23 03:02:19
【问题描述】:

我们可以为列表创建一个模拟变量
@嘲笑 私有 ArrayList 用户;

如果我这样做,我会得到一个空指针异常。使用模拟对象列表或添加到列表中的模拟对象,哪种方法更好?

【问题讨论】:

  • 我建议不要使用像 ArrayList 这样的模拟集合对象。恕我直言,模拟这样简单的类没有任何价值。

标签: java junit mockito


【解决方案1】:

您是否使用forEach 循环来迭代arrayList?它返回你没有嘲笑的迭代器。最好模拟一个数组列表的对象,因为这样你就可以使用 forEach 进行迭代

【讨论】:

  • 宾果游戏。在正确模拟列表的背后往往是一个真正的痛苦。代码比它的价值多得多,所以使用 ArrayList 或扩展它通常是更好的选择。
  • 好吧,使用for每个循环进行迭代,但不是返回迭代器,而是返回null
  • 是的,因为默认情况下,mock 会为每个返回值的方法返回 null。
  • 只有当我们模拟集合时我们才会得到 null 对吧?不是在模拟 @mock private User user 之类的类的情况下;
猜你喜欢
  • 1970-01-01
  • 2021-10-14
  • 2011-11-23
  • 2012-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多