我在类addToClonedList(List)中有一个方法App调用add(List)类中的方法Dependency。我想要进行单元测试addToClonedList(List),并且想要创建一个模拟Dependency对象(称为)并验证是否使用正确的参数调用mockDependency该方法。mockDependency.add(List)但是,由于List引用的实例在相关调用之后clonedList将一个新元素 ( 100) 添加到 if ,因此 Mockito 认为 2 元素List已传递给mockDependency,并且测试失败。实际上,调用时List传递给的仅包含一个元素。mockDependency.add(List)这是预期的 Mockito 行为吗?有没有更标准的方法来测试我已经通过了正确的List方法mockDependency.add(List)?
请参阅下面的代码结构和测试输出:
主/java/App.java:
import java.util.*;
public class App {
Dependency dataLayer = new Dependency();
void addToClonedList(List<Integer> integerList) {
List<Integer> clonedList = new ArrayList<Integer>(integerList);
dataLayer.add(clonedList);
clonedList.add(100);
}
}
Run Code Online (Sandbox Code Playgroud)
主/java/Dependency.java:
import java.util.List;
public class Dependency {
void add(List<Integer> …Run Code Online (Sandbox Code Playgroud)