我正在尝试使用Mockito进行单元测试以模拟案例。在测试类中,我们只有一种公共方法。因此,要模拟不同的情况,我必须模拟很多数据细节。请看下面:
when(config.booleanValue(param1)).thenReturn(true);
when(config.doubleValue(param2).thenReturn(9999.0);
when(myCalendar.getAppointmentNumber()).thenReturn(3);
when(location1.getLatitude()).thenReturn(90.0);
when(location2.getLongitude()).thenReturn(90.0);
when(location1.getLowerBoundary()).thenReturn(12.0);
when(address1.getId()).thenReturn(1);
when(address1.popularity()).thenReturn(0.6);
when(people.getLocation(any(LocalDate.class))).thenReturn(location1);
when(people.getAddresses(any(LocalDate.class))).thenReturn(Collections.singletonList(address1));
when(location2.getLatitude()).thenReturn(90.3);
when(location2.getLongitude()).thenReturn(90.3);
when(location2.getId()).thenReturn(1);
when(customer.getLocation(any(LocalDate.class))).thenReturn(location2);
when(myCalendar.getPrevAppointment()).thenReturn(appointment1);
when(myCalendar.getNextAppointment()).thenReturn(appointment2);
when(appointment1.to(appointment2)).thenReturn(15.0);
when(appointment2.to(any(Location.class))).thenReturn(9.0);
像这样使用Mockito似乎对我来说是错的。还是我想得太多。请教我。预先感谢。
答案 0 :(得分:0)
我最近有一个类似的问题。我必须测试一个函数,该函数对2d地图/图像中的每个单元格执行另一个函数。测试功能真的很复杂而且很大。最后,我将该班分为2个班。一种用于迭代,另一种用于每像元计算。然后,进行分离测试要简单得多。
您可以将您的班级分为更简单的班级吗?