Постоянный объект в тесте не сохраняет его в БДJAVA

Программисты JAVA общаются здесь
Anonymous
 Постоянный объект в тесте не сохраняет его в БД

Сообщение Anonymous »

У меня есть приложение, работающее на сервере 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

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