例如。
我有一个班级" MyClass"
MyClass {
ArrayList<String> as;
public ArrayList<String> getArrayList(){
return as;
}
}
在我的代码中,我有:
MyClass myClass = new MyClass();
String a = myClass.getArrayList().get(0);
在我的测试代码中,我想模拟MyClass并制作String&#34; a&#34;等于&#34; 123&#34;。 所以我试试:
MyClass myClass = mock(MyClass.class);
when(myClass.getArrayList().get(0)).thenReturn("123");
但这不起作用。任何人都知道如何解决这个问题?
答案 0 :(得分:4)
试试这个:
MyClass myClass = mock(MyClass.class);
List<String> arrayList = new ArrayList<String>();
arrayList.add("123");
when(myClass.getArrayList()).thenReturn(arrayList);
问题是在你的代码中你是在嘲笑数组,而不是&#34; myClass&#34;。 myClass只知道getArrayList,它不知道你之后如何与它进行交互。