Wpis z mikrobloga

Dlaczego przy teście serwisu leci LazyInizializationException a przy teście kontrolera już nie i przechodzi normalnie mimo, że też korzysta z tego serwisu?

@test
void testService() {
var film = filmRepository.save(createFilm());
var hall = hallRepository.save(createHall());
screeningRepository.save(createScreening(film, hall));

screeningService.getAllScreenings();
}

@test
void testController() {
var film = filmRepository.save(createFilm());
var hall = hallRepository.save(createHall());
screeningRepository.save(createScreening(film, hall));

webTestClient
.get()
.uri("/public/screenings")
.exchange()
.expectStatus()
.isOk();
}

#java #programowanie #naukaprogramowania #programista15k
  • 8
  • Odpowiedz
@Nofenak: zainstaluj codellama czy inny model to się szybciej dowiesz niż na portalu ze śmieszynymi obrazkami

1. Create the createFilm(), createHall() and createScreening() methods to generate mock data.
2. Use @Transactional annotation on testService() method to ensure that saved entities are automatically deleted after each test.
3. Replace screeningRepository.save(createScreening(film, hall)); with var screening = createScreening(film, hall);
screeningRepository.persistAndFlush(screening);
in testService() method to avoid LazyInitializationException.
4. Verify the test controller with
paczelok - @Nofenak: zainstaluj codellama czy inny model to się szybciej dowiesz niż ...

źródło: Zrzut ekranu z 2024-03-24 17-43-42

Pobierz
  • Odpowiedz
strzelam, że tutaj dlatego że tworzysz te obiekty na potrzebę testu a tam ich może nie być ale w sumie nie wiem bo widzę tylko wycinek kodu


@Smonk_Da_Wead: Mam dwie refleksje. Naprawdę używacie chat gpt żeby rozwiązywać takie problemy? Przecież ich rozwiązywane to najlepsza droga aby się rozwijać i zrozumieć jak działa stack technologiczny w którym pracujemy. Znalezienie przyczyny tego problemu da więcej wiedzy niż przeczytanie niejednej książki. W drugiej kwestii
  • Odpowiedz