Трудно ми е да накарам моя JUnit тест да работи. Ето кодовите фрагменти. Първият е моят суперклас:
Тогава има двама потомци:
Ето скрипта, създаващ базата данни (изключение) в PostgreSQL:
И накрая тестовият случай (част от него):
Внимавайте, сега е викът: записът
The въпрос защото? 190216.877 D main/JpaMealRepositoryImpl - m = нула
Ако изпълня тази заявка в Postgres, замествайки? с meal_id (което е 4, както се вижда в записа), тогава получавам ред. Само един ред, както исках. Защо em.find (.) Връща null ?
ПОДОБРЯВАНЕ НА
Попълвам DB с скрипта refill.sql при стартиране на всеки тестов клас:
Ето qwery, който публикувам в psql:
Резултатът е
2 отговора
Реших проблема по този начин.
Докато писах, оригиналният ми суперклас беше
Решението е в стратегията от @GeneratedValue (стратегия = GenerationType.IDENTITY). Ето преработената IdentifiedEntity:
(@Access (FIELD) не е задължителен)
Според мен в Hibernate има ГРЕШКА, която възпроизвежда if @GeneratedValue (стратегия = GenerationType.IDENTITY) .
На първо място, тестът трябва да работи в изолирана среда, без да изчиства базата данни при всяко изпълнение.
Ако искате тестовете да премахнат текущата ви схема PostgreSQL, трябва просто да използвате свойството за конфигурация Hibernate hibernate.hbm2ddl.auto.
Ако не искате Hibernate да променя схемата, тогава не трябва да задавате свойството hibernate.hbm2ddl.auto.
Ще отстъпвате ли обаче във всяко състезание? Как ще работите в среда като тази?
По-добре да започнете с чиста схема, да я попълните с данни, да направите теста и да го изтриете в края, защото не искате да оставяте данни, които могат да пречат на други тестове.
- Москва се активира, тъй като Русия вече добавя случаи и почти смъртни случаи - Фаро де Виго
- Окончателният заместител на маслото идва със същата кремообразност, но е 80% вода (и ниско
- Машина за удължаване на крака Изчислете изгорените калории и затворените вати - отговори тук
- Какво означава, че съпругата ви е с наднормено тегло, докато сте холивудски парче - Мари Клер
- Психолог терапия за отслабване онлайн Онлайн психологическа консултация