我有一个java类。
class Blah{
public Blah(){
}
public String testMe(List<String> s){
return new String("hello "+s.get(0));
}
public String testMeString(String s){
return new String("hello "+s);
}
}
我无法尝试成功地存根和测试 testMe 方法。请注意,我只是想了解 java 中的模拟。例如我试过:
@Test
public void testTestMe(){
Blah blah = spy(new Blah());
ArrayList<String> l = new ArrayList<String>();
l.add("oopsie");
when(blah.testMe(Matchers.any())).thenReturn("intercepted");
assertEquals("intercepted",blah.testMe(l));
这将返回 NullPointerException。我也尝试过任何(List.class),任何(ArrayList.class)。我也尝试过使用anyList(),但这给了我一个 IndexOutOfBounds 错误。我究竟做错了什么?有趣的是,我的testMeString作品很好。如果我做
@Test
public void testTestMeString(){
Blah blah = spy(new Blah());
when(blah.testMeString(any())).thenReturn("intercepted");
assertEquals("intercepted",blah.testMeString("lala"));
}
测试通过 any() 和 any(String.class)。
人到中年有点甜
皈依舞
喵喔喔
相关分类