Как использовать @DataMongoTest для тестирования MongoRepository?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как использовать @DataMongoTest для тестирования MongoRepository?

Сообщение Anonymous »

Я хочу провести простой тест MongoDB для одного из MongoRepository.
Для этого я использовал @DataMongoTest
@DataMongoTest(
excludeAutoConfiguration = {
HibernateJpaAutoConfiguration.class,
DataSourceAutoConfiguration.class
}
)
@EnableMongoRepositories
class BookingMongoRepositoryTest {

@Autowired
private BookingMongoRepository bookingMongoRepository;

@Test
void testSaveAndFindBooking() {
BookingDocument document = buildBookingDocument();

BookingDocument savedDocument = bookingMongoRepository.save(document);

Optional retrievedBooking = bookingMongoRepository.findById(savedDocument.get_id());
assertNotNull(retrievedBooking);
assertThat(retrievedBooking.get().getIdAccount()).isEqualTo(1L);
}

private BookingDocument buildBookingDocument() {
TicketDocument ticketDocument1 = TicketDocument.builder()
.idFlight("1")
.idPassenger(1L)
.seat("10A")
.price(new BigDecimal("62.25"))
.build();

TicketDocument ticketDocument2 = TicketDocument.builder()
.idFlight("1")
.idPassenger(2L)
.seat("10B")
.price(new BigDecimal("62.25"))
.build();

BookingDocument bookingDocument = BookingDocument.builder()
.bookingPrice(new BigDecimal("124.50"))
.idAccount(1L)
.tickets(List.of(ticketDocument1, ticketDocument2))
.build();

bookingDocument.setStatus("ACTIVE");

return bookingDocument;
}

}

Я исключил автоконфигурацию для Hibernate и JPA, но по-прежнему выдает исключение, связанное с ошибкой создания компонента JpaRepository:
Исключение:
Вызвано: org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем passengerJpaRepository, определенным в io.github.paulmarcelinbejan.coandaairlines.reservationsystem.adapters.outbound. репозиторий.jpa.PassengerJpaRepository, определенный в @EnableJpaRepositories, объявленный в CoandaAirlinesReservationSystemApplication: невозможно разрешить ссылку на bean-компонент «jpaSharedEM_entityManagerFactory» при настройке свойства bean-компонента «entityManager»


Причина: org.springframework.beans.factory.BeanCreationException: ошибка создания bean-компонента с именем «jpaSharedEM_entityManagerFactory»: невозможно разрешить ссылку на bean-компонент «entityManagerFactory» при установке аргумента конструктора


Вызвано: org.springframework.beans.factory.NoSuchBeanDefinitionException: нет доступного компонента с именем «entityManagerFactory».

Мое SpringBootApplication:
@SpringBootApplication
@EnableConfigurationProperties
@ComponentScan({ "io.github.paulmarcelinbejan*" })
@EntityScan({ "io.github.paulmarcelinbejan*" })
@EnableJpaRepositories({ "io.github.paulmarcelinbejan*" })
@EnableMongoRepositories({ "io.github.paulmarcelinbejan*" })
@EnableFeignClients({ "io.github.paulmarcelinbejan*" })
public class CoandaAirlinesReservationSystemApplication extends AbstractApplication {

public static void main(String[] args) {
SpringApplication.run(CoandaAirlinesReservationSystemApplication.class, args);
}

}


Подробнее здесь: https://stackoverflow.com/questions/790 ... repository
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»