Запускать тестовые сценарии вставки до и после тестирования Junit в Hibernate - PullRequest
0 голосов
/ 12 мая 2019

У меня есть тестовый пример Junit для тестирования метода, который требует некоторых начальных данных.Требуемые данные не являются частью текущей схемы, используемой моим проектом hibernate.Поэтому я не могу использовать объект модели для создания данных вставки.Есть ли способ запустить сценарии sql до и после запуска теста junit?

Путь без спящего режима следующий:

Process p = Runtime.getRuntime().exec("psql -U user -d db -h host -f file.sql");

Как справиться с этим с помощью спящего режима?

Ответы [ 3 ]

0 голосов
/ 13 мая 2019

Аннотация @Sql - мой первый вариант. Не пробовал, но так как вы используете Spring, вы также можете использовать ScriptUtils в своем методе @Before:

Connection connection = dataSource.getConnection();
ScriptUtils.executeSqlScript(connection, new ClassPathResource("test_db.sql"));
0 голосов
/ 13 мая 2019

Есть также хорошая библиотека под названием dbunit , которая позволяет установить базу данных в известное состояние до и после тестов junit.

0 голосов
/ 12 мая 2019

Я решил эту проблему, запустив собственный sql-запрос, используя hibernate api

Query persistableQuery = entityManager.createNativeQuery("QUERY"); 
persistableQuery.executeUpdate();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...