[Moscow.pm] Модульное тестирование - "главное чтобы блестел"

Ruslan Zakirov ruz на bestpractical.com
Чт Дек 30 14:55:02 PST 2010


2010/12/30 Oleg Alistratov <ali на ali.org.ua>:
> Разумеется, до конца не ясно, как обеспечить тестирование _у_всех_
> модуля, который предназначен, скажем, для манипулирования сервисами
> Amazon EC2 или drivehq.com какого-нибудь.

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

У нас была похожая ситуация с модулем, но к сожалению тестовый логин
закрыли после окончания контракта. Сейчас в модуле можно указать
логин/пароль через переменные окружения и можно оттестироваться на
реальном сервере. Ситуация не очень хорошая. Мало у кого есть доп
средства для заведения специального аккаунта для тестирования, а
тестировать при обновлении на продакшен сервере никто не захочет.

В треде намешали тестирование модуля к чужому сервису и модуля к
своему сервису. Тестирование своего сервиса конечно лучше организовать
поднятием нового инстанса для тестов. Так можно в разы увеличить
покрытие. Тестировать не только поверхность (web, rest, rpc,
email...), но и внутренний API. Написать код для создания БД не
составляет труда. Поднять Apache не проблема fork+exec httpd -f
/path/to/generated/config. Остановить апач, дропнуть БД, сбросить
memcached и т.д. и т.п. тоже можно.

На все нужно время, хотя опыт показывает, что тесты себя окупают.

-- 
Best regards, Ruslan.


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