У меня есть приложение, работающее на сервере Quarkus. У меня есть Postgres DB с использованием Hibernate и реализации PanacherePositoryBase . Когда приложение работает, все работает гладко, но когда я пытаюсь запустить интеграционные тесты, DB не заполняется. Таблица, но затем в тесте я стараюсь добавить пользователя, и эта таблица пуста. То, что меня смущает, - это когда я устойчив к объекту, который я возвращаю, findbyid () и возвращает объект, но все же таблица пуста. Я действительно смущен этим ... < /p>
@ApplicationScoped
public class UserRepository implements PanacheRepositoryBase {
@Transactional
public UserEntity persistUser(UserEntity user) {
persist(user);
return findById(user.getId());
}
}
< /code>
@QuarkusTransactionalTest
@QuarkusTestResource(PostgresResource.class)
public class UserRepositoryIntegrationTest {
@Inject
UserRepository repository;
@Inject
CompanyRepository companyRepo;
private CompanyEntity company;
@BeforeEach
void setup() {
company = companyRepo.persistCompany(createCompany()); // Added to DB
}
@AfterEach
void cleanup() {
repository.deleteAll();
companyRepo.deleteAll();
}
@Test
void test_persistUser() {
// UserEntity is returned
UserEntity user = repository.persistUser(createUser(company, true, true));
assertNotNull(user);
UserEntity user2 = reposiitory.findById(user.getId());
assertNotNull(user2); // This fails as it is null
}
}
Подробнее здесь: https://stackoverflow.com/questions/736 ... -to-the-db