Как заново создать базу данных перед каждым тестом в Spring?

53 байта

function reverse(a){
    for(i=0,j=a.length-1;i<j;)a[i]=a[j]+(a[j--]=a[i++],0)
}

Просто для удовольствия, вот альтернативная реализация, которая быстрее, чем собственный .reverse метод.

36
задан Dims 5 January 2016 в 17:43
поделиться

1 ответ

Используя принятый ответ в Начальной загрузке Spring 2.2.0, я видел синтаксические ошибки JDBC, связанные с ограничениями:

Вызванный: org.h2.jdbc. JdbcSQLSyntaxErrorException: Ограничение "FKEFFD698EA2E75FXEERWBO8IUT" уже существует; SQL-оператор: изменитесь нечто таблицы добавляют ограничение внешний ключ FKeffd698ea2e75fxeerwbo8iut (панель) ссылочная панель [90045-200]

Для фиксации этого, я добавил @AutoConfiguredTestDatabase к своему модульному тесту:

import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace;
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.annotation.DirtiesContext.ClassMode;
import org.springframework.boot.test.context.SpringBootTest;
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringRunner;


@RunWith(SpringRunner.class)
@SpringBootTest
@DirtiesContext(classMode = ClassMode.BEFORE_EACH_TEST_METHOD)
@AutoConfigureTestDatabase(replace = Replace.ANY)
public class FooRepositoryTest { ... }
1
ответ дан 26 November 2019 в 23:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: