在单元测试中模拟依赖项

时间:2020-08-22 07:50:36

标签: junit mockito

我的代码结构如下:

类A对类B有依赖性,类B获取另一个类C的实例,后者又包含一个List l。

我需要对A中拥有列表l的方法进行单元测试,并对其进行更新。

我不确定该怎么做?我应该模拟一个List并将其放入C的模拟中,然后验证其更新。我不确定这是否有可能。

1 个答案:

答案 0 :(得分:1)

您想测试A类中的方法M。方法M用类B做一些棘手的事情,以获得经过修改的List<E> I。

根据您的班级设计,您可以按照以下步骤进行操作:

  • 创建类B的模拟,以便用于“获取I”的方法返回一些有趣的真实列表I
  • 将此模拟内容注入待测类A
  • 调用被测方法M
  • 确认对列表所做的更改符合预期。

如果在列表中创建类E的元素很复杂,则可以模拟这些元素,但无需模拟列表本身。