| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Тестирование приложения, работающего с БД |
| Автор: Alar 22.9.2005, 08:52 |
| Допустим, мы пишем приложение, работающее с базой данных, параллельно пишем тесты. Вопрос в следующем: как сделать тесты независимыми от существования и настройки базы данных? Существуют ли например, какие-то хитрые СУБД с JDBC-интерфейсом, разворчивающиеся в памяти или DAO-фреймворки, которые могут работать в режиме "заглушек"? Вопрос возник когда пришлось внести изменения в один проект, он был написан с тестами, тесты работали с БД на локальной машине. Со времени написания многое изменилось и пришлось немного помучаться прежде чем существующие тесты заработали. Кто что думает по этому поводу? |
| Автор: 3,14 22.9.2005, 09:44 |
| Создать некие файлы сценариев тестирования, из них читать настройки соединения с БД, сам сценарий теста, и собственно результат к-ый должны получить в рещультате самого теста. |
| Автор: anonymouse 23.9.2005, 10:00 |
| Наверно не совсем понял проблему. А если работать через JDBC, то достаточно иметь название банка и соответсвующий драйвер, все остальное должно быть универсально для всех банков. Если же имеется ввиду что меняется полностью цтруктура банка,то можно хранить непосредственно скрипты создания етого банка. Ну и в принципе можно использовать embedded db (Hibernate, Derby ...) |
| Автор: Souljah 23.9.2005, 11:29 |
| есть http://www.mockobjects.com, позволяют эмулировать определенное поведение любых объектов я этим не занимался, но наши как-то прикручивали их к тестам для эмуляции DAO объектов, вроде работало. имхо как раз то, что надо есть такая штука - DBUnit может поднимать данные из XML-скрипта и заполнять ими базу перед каждым тестовым запуском http://www.hsqldb.org/ может в память разворачиваться |
| Автор: Alar 23.9.2005, 12:05 |
| 2Souljah. О! вот это похоже то, о чем я говорил. Спасибо! |