use*_*656 5 spring-boot spring-boot-test
我有一个@Service,我试图在单元测试中模拟它,但到目前为止我得到一个空值。在应用程序类中,我指定什么是 scanBasePackages。我必须以不同的方式做到这一点吗?谢谢。
\n\n这是我实现接口的服务类:
\n\n@Service\npublic class DeviceService implements DeviceServiceDao {\n\nprivate List<Device> devices;\n\n@Override\npublic List<Device> getDevices(long homeId) {\n return devices;\n}\n\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这是我的单元测试。
\n\npublic class SmartHomeControllerTest {\n\n private RestTemplate restTemplate = new RestTemplate();\n private static final String BASE_URL = \xe2\x80\x9c..\xe2\x80\x9d;\n\n @Mock\n private DeviceService deviceService;\n\n@Test\npublic void getHomeRegisteredDevices() throws Exception {\n\n Device activeDevice = new DeviceBuilder()\n .getActiveDevice(true)\n .getName("Alexa")\n .getDeviceId(1)\n .getHomeId(1)\n .build();\n Device inativeDevice = new DeviceBuilder()\n .getInactiveDevice(false)\n .getName("Heater")\n .getDeviceId(2)\n .getHomeId(1)\n .build();\n\n UriComponentsBuilder builder = UriComponentsBuilder\n .fromUriString(BASE_URL + "/1/devices");\n\n List response = restTemplate.getForObject(builder.toUriString(), List.class);\n\n verify(deviceService, times(1)).getDevices(1);\n verifyNoMoreInteractions(deviceService);\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
8241 次 |
| 最近记录: |