Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Пересоздание базы при тестировании / 10 сообщений из 10, страница 1 из 1
30.08.2012, 14:29:44
    #37937145
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
Для тестирования я использую HSQLDB и инициализирую ее таким образом:

Код: java
1.
2.
3.
<jdbc:initialize-database data-source="myDataSource">
       <jdbc:script location="MyInitScript.sql"/>
</jdbc:initialize-database>



При тестирование контроллеров есть необходимость после некоторых тестов, обновить/сбросить состояние базы, т.е. заполнить ее некоторыми данным, например из того же файла MyInitScript.sql.

Как это правильно сделать?
...
Рейтинг: 0 / 0
30.08.2012, 14:57:51
    #37937222
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
Речь идет про Spring)
...
Рейтинг: 0 / 0
30.08.2012, 20:56:38
    #37937845
sys_daemon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
rdm,
Для этих целей dbunit это то что доктор прописал.
...
Рейтинг: 0 / 0
30.08.2012, 21:26:20
    #37937861
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
sys_daemonrdm,
Для этих целей dbunit это то что доктор прописал.
Зачем тут dbunit? Насколько я понимаю dbunit для тестирования функции связанных с взаимодействием с БД. Мне это не нужно. Мне просто базу перегрузить до начального состояния и все.
...
Рейтинг: 0 / 0
31.08.2012, 09:02:16
    #37938170
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
Я с постгресом поступаю так - сохраняю дамп и потом пересоздаю базу через удаление и создание, и заливаю дамп обратно.
Меня на тестовой базе оно очень устраивает, хотя, вот если бы была кнопочка в админке, было бы удобнее...
...
Рейтинг: 0 / 0
31.08.2012, 12:07:02
    #37938482
pasha701
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
Сделать чтобы тесты не комитили:
http://static.springsource.org/spring/docs/3.0.x/reference/testing.html
секция: 9.3.5.4 Transaction management
...
Рейтинг: 0 / 0
31.08.2012, 22:30:46
    #37939499
rdm
rdm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
pasha701Сделать чтобы тесты не комитили:
http://static.springsource.org/spring/docs/3.0.x/reference/testing.html
секция: 9.3.5.4 Transaction management
Это не вариант в моем случае.
...
Рейтинг: 0 / 0
01.09.2012, 01:37:14
    #37939604
пролетевший
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
Я использую liquibase для всех случаев: в тестах он мне уничтожает схему перед запуском и создает заново, в скриптах для деплоймента обновляет базы до текущей версии, в приложении проверяет перед запуском что версия соответствует ожидаемой.
Данные генерю в коде. Пробовал dbunit или sql скрипты, но слишком ленив для написания бесконечных простыней :-) Сделать набор функций на scala и описывать ими состояние базы перед тестами оказалось проще. Тем более что часто делаю параметризованные тесты, чтобы проверить как работает код при разных начальных условиях. Или меняются размеры данных: локально делаю одну две записи, а на ночь заряжаю Jenkins чтобы запустить с реальными обьемами.
...
Рейтинг: 0 / 0
01.09.2012, 21:58:56
    #37940132
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
embedded-database например
Код: java
1.
2.
3.
4.
5.
6.
7.
	
<jdbc:embedded-database type="HSQL" id="db">
		<jdbc:script location="classpath:test.db.sql" />
	</jdbc:embedded-database>

	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
		p:dataSource-ref="db" />
...
Рейтинг: 0 / 0
02.09.2012, 04:38:40
    #37940239
Лагман
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание базы при тестировании
Хехе я упорот.
Там же вроде можно схему грохнуть.
Код: java
1.
DROP SCHEMA PUBLIC CASCADE 
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Пересоздание базы при тестировании / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]