Тестирование типов jpa ddl - PullRequest
0 голосов
/ 07 февраля 2011

Я пытаюсь запустить несколько тестов и каждый раз, когда я запускаю play, он очищает базу данных. Полагаю, это связано с моим "test.jpa.ddl" свойством.

Текущий код:

%test.jpa.ddl=create-drop

Это просто удаление этой строки для решения проблемы? Или мне нужно установить другое значение? (Я боюсь проверять и снова удалять все данные ...)

Ответы [ 3 ]

2 голосов
/ 07 февраля 2011

Попробуйте установить значение

test.jpa.ddl=none

Это предполагает, что ваш JPA-провайдер делает это.

В качестве альтернативы, вы можете использовать DBUnit для выполнения модульных тестов. В этом случае он будет стирать ваши данные при каждом запуске. На самом деле нет другого пути, кроме как сохранить ваши данные и впоследствии загрузить их обратно.

1 голос
/ 09 февраля 2011

Проверьте, используете ли вы h2 db (по умолчанию).Простейший способ сохранить ваши данные - прокомментировать эту строку:

db = mem

И измените ее на

db = fs

Если вы используете автономную базу данных (например, mysql), то вам обязательно нужно перейти к "jpa.ddl".Измените его на «нет», как говорят другие.

1 голос
/ 07 февраля 2011

Это зависит от того, какие другие ваши настройки для вашего тестового режима. По умолчанию база данных настроена как память, поэтому это может быть вашей проблемой.

Кроме того, вы используете приборы? Если это не так, я бы настоятельно рекомендовал использовать приборы, поскольку они позволяют указывать ваши тестовые данные в файле YAML и загружать их заново в начале каждого цикла тестирования, что гарантирует согласованность ваших данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...