Вы находитесь в тупике: транзакция, в которой выполняется тест, и транзакция, в которой выполняется действие, являются противоречивыми, как описано в примечаниях к выпуску 1.2 .К сожалению, вы не можете использовать уровень изоляции READ UNCOMMITED
в PostgreSQL, так как даже если вы укажете его с помощью SET TRANSACTION
, , уровень изоляции транзакций все равно будет READ COMMITTED
Что вы можетеdo - убедиться, что транзакция в тестовом коде зафиксирована до запуска транзакции в действии, которое вызывает тестовый код.Например,
@Test
public void testSomething() {
Fixtures.loadModels("models.yml");
JPA.em().getTransaction().commit();
// Call a controller
}
Альтернативой является запуск тестов с использованием базы данных в памяти.