我如何模拟在类级别实例化的变量..我想模拟 GenUser、UserData。我该怎么做...
我有以下课程
public class Source {
private GenUser v1 = new GenUser();
private UserData v2 = new UserData();
private DataAccess v3 = new DataAccess();
public String createUser(User u) {
return v1.persistUser(u).toString();
}
}
我怎么嘲笑我的v1是这样的
GenUser gu=Mockito.mock(GenUser.class);
PowerMockito.whenNew(GenUser.class).withNoArguments().thenReturn(gu);
我为单元测试和模拟所写的是
@Test
public void testCreateUser() {
Source scr = new Source();
//here i have mocked persistUser method
PowerMockito.when(v1.persistUser(Matchers.any(User.class))).thenReturn("value");
final String s = scr.createUser(new User());
Assert.assertEquals("value", s);
}
即使我嘲笑了 GenUser v1 的 persistUser 方法,它也没有将“值”作为我的返回值返回给我。
感谢高级.......:D