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
}