[Moscow.pm] Как тестировать приложения с базой данных

Aliaksandr Zahatski zahatski на gmail.com
Пн Фев 22 23:08:52 PST 2010


Привет !
Я использую для этих целей Test::Class.
Для знакомства с этим фрэймворком ркомендую начать с
http://www.modernperlbooks.com/mt/2009/03/organizing-test-suites-with-testclass.html

Мои Tips:
 1. В начале тестов (startup) произвожу инициализацию пустой базы.
Только пустые таблицы.
 2. Такие сущности как пользователь, группы - создаются в процессе
тестов ( не из DUMP)
 3. Советую писать тесты начиная с функциональной стороны, затем по
мере необходимости -  реализовывать unit.
 4. Конфигурационный файл лежит в тестах ( передается параметром при
создании экземпляра объекта приложения) и их может быть несколько.
Синтаксис конфигурационного файла  поддерживает  INCLUDE
../default.conf. Это позволяет вынести общие конфигурационные
настройки для тестов в один файл.


23 февраля 2010 г. 9:36 пользователь Иван Бессарабов
<ivan на bessarabov.ru> написал:
> Хочу все-таки научится по умному писать тесты.
>
> Вот есть у меня веб приложение, оно активно взаимодействует с базой
> данных. Хочу все это обложить тестами.
> Сейчас делаю так:
>  1. приложение это крутится на тестовом сервере
>  2. есть файл project.conf где прописаны данные для подключения к базе данных
>  3. создал тестовую базу, забил в нее тестове значения и сохранил dump
>  4. в файлах t/*.t есть некоторое количество тестов
>  5. написал скрипт test_it.pl который: а) создает тестовую базу из
> dump-а б) заменяет конфиг файл на файл с данными для подключения для
> тестовой базы в) прогоняет все тесты и отображает их вывод г)
> возвращает конфиг обратно
>
> Это все работает, но я уверен, что можно сделать лучше.
>
> Расскажите, пожалуйста, о вашем опыте тестирования.
>
> Спасибо.
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


Подробная информация о списке рассылки Moscow-pm