Я хочу провести простой тест 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
Как использовать @DataMongoTest для тестирования MongoRepository? ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1728118087
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);
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79056671/how-to-use-datamongotest-to-test-mongorepository[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия