gpt4 book ai didi

java - 如何使用mockito模拟junit中的连续调用方法?

转载 作者:行者123 更新时间:2023-12-01 17:58:12 31 4
gpt4 key购买 nike

例如。

我有一个类(class)“MyClass”

MyClass {
ArrayList<String> as;
public ArrayList<String> getArrayList(){
return as;
}
}

在我的代码中,我有:

MyClass myClass = new MyClass();
String a = myClass.getArrayList().get(0);

在我的测试代码中,我想模拟 MyClass 并使字符串“a”等于“123”。所以我尝试:

MyClass myClass = mock(MyClass.class);
when(myClass.getArrayList().get(0)).thenReturn("123");

但这不起作用。有人知道如何解决这个问题吗?

最佳答案

试试这个:

MyClass myClass = mock(MyClass.class);
List<String> arrayList = new ArrayList<String>();
arrayList.add("123");
when(myClass.getArrayList()).thenReturn(arrayList);

问题是在您的代码中您正在模拟数组,而不是“myClass”。myClass 只知道 getArrayList,它不知道您之后如何与它交互。

关于java - 如何使用mockito模拟junit中的连续调用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43008055/

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