На данный момент у меня есть этот код ниже. Я отключил конфигуратор Hibernate, чтобы остановить попытку тестовой службы подключиться к реальному экземпляру postgresql по адресу http://localhost:5432. Без исключения HibernateJpaAutoConfiguration тест завершится неудачей из-за сбоя подключения к http://localhost:5432.
Код: Выделить всё
@SpringBootTest
@EnableAutoConfiguration(exclude = {
HibernateJpaAutoConfiguration.class
})
public class ReaderControllerTest {
@MockBean
private ReaderRepository readerRepository;
@Autowired
private MockMvc mockMvc;
@Test
void createUserTest() throws Exception {
var newReader = new Reader();
newReader.setName("user");
newReader.setEmail("user@email.com");
Mockito.when(readerRepository.save(null)).thenReturn(newReader);
mockMvc
.perform(
post("/user").contentType("application/json").content("{\"name\": \"test\"}"))
.andExpect(status().isOk());
}
}
Код: Выделить всё
Error creating bean with name 'bookController': Unsatisfied dependency expressed through field 'bookService': Error creating bean with name 'bookServiceImpl': Unsatisfied dependency expressed through field 'bookRepository': Error creating bean with name 'bookRepository' defined in com.example.demo.repository.BookRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaSharedEM_entityManagerFactory' while setting bean property 'entityManager'
Код: Выделить всё
@MockBeanКод: Выделить всё
@MockBean
private ReaderRepository readerRepository;
Подробнее здесь: https://stackoverflow.com/questions/788 ... figuration
Мобильная версия