Spring-如果mock工作正常,如何@autowiredjpa存储库
我正在为我的控制器类编写测试。我的配置类如下所示:Spring-如果mock工作正常,如何@autowiredjpa存储库,spring,testing,Spring,Testing,我正在为我的控制器类编写测试。我的配置类如下所示: @Configuration @Import(RoomRepository.class) public class TestConfig { @MockBean RoomRepository roomRepository; @Bean ReservationService reservationService() { return new ReservationService(roomRepository); } } 在控制器测试类
@Configuration
@Import(RoomRepository.class)
public class TestConfig {
@MockBean
RoomRepository roomRepository;
@Bean
ReservationService reservationService() {
return new ReservationService(roomRepository);
}
}
在控制器测试类中,我正在注入配置类:
@WebMvcTest(ReservationController.class)
@Import({TestConfig.class})
class ReservationControllerTest { ... }
除了一件事,一切都很好。我需要“真实”的房间存储库-而不是模拟。当我试图@Autowired那个存储库时,我收到一个错误,它是接口,而不是类(这是很明显的)。如何初始化RoomRepository的工作实例?您可以这样做:
private-RoomRepository;
@自动连线
公共YourClassName(RoomRepository RoomRepository){
this.roomRepository=roomRepository
}
您可以这样做:
private-RoomRepository;
@自动连线
公共YourClassName(RoomRepository RoomRepository){
this.roomRepository=roomRepository
}