我第一次尝试使用Junit进行模拟。我写了测试方法来测试学生的细节。下面是代码,请帮助我更好地理解,我已经创建了studentService Mock对象,并调用它去获取学生详细信息。我正在通过测试,但我不确定我是否正确
@mock
StudentService client;
@Test
public void testGetStudentDetails() throws Exception {
Student student= new Student()
student.setCustomerId("123");
student.setRId("234");
student.setClassNumber("100");
Mockito.when(client.getStudentDetails(new Long(123), "1234")).thenReturn(student);
Student sd=client.getStudentDetails(new Long(123), "1234");
assertNotNull(sd);
}
答案 0 :(得分:4)
此测试现在没有多大意义。
在你的设置中,你告诉模拟如何表现:
Mockito.when(client.getStudentDetails(new Long(123), "1234")).thenReturn(student);
在您的实际测试中,您调用模拟器,并检查它是否按照您的要求执行操作:
Student sd=client.getStudentDetails(new Long(123), "1234");
assertNotNull(sd);
所以你只测试Mockito,我认为这不是你想要的。
假设您想测试getStudentDetails
,就我们所知,您不需要Mockito,只需创建一个客户端,调用方法并检查事情是否发生,应该发生。< / p>
您只会模拟 要使用的对象。 (*)从目前为止,我们只看到你要测试的类和另一个使用的类,但是由于你只是创建它而不需要模拟,所以不需要进行模拟。
(*)这是过于简单化,但会在开头做