Автоматизированное тестирование с Ruby on Rails - лучшие практики - PullRequest
5 голосов
/ 08 апреля 2010

Интересно, что вы, ребята, делаете, когда автоматизируете свои юнит-тесты с помощью ruby ​​на рельсах? Вы создаете скрипт, который запускает грабли в cron и отправляет вам результаты по почте? хук pre-commit в git? просто ручной вызов? Я полностью разбираюсь в тестах, но меня интересует, как лучше ловить ошибки до их появления. Давайте считать само собой разумеющимся, что сами тесты безупречны и работают как надо. Каков следующий шаг, чтобы убедиться, что они вовремя дойдут до вас с потенциально вредными результатами?

Ответы [ 2 ]

8 голосов
/ 08 апреля 2010

Не уверен, что именно вы хотите услышать, но есть несколько уровней автоматического контроля кодовой базы:

  1. Работая над функцией, вы можете использовать что-то вроде автотест , чтобы получить мгновенную обратную связь о том, что работает, а что нет.

  2. Чтобы убедиться, что ваши коммиты действительно ничего не нарушают, используйте сервер непрерывной интеграции, такой как cruisecontrolrb или Integrity (вы можете связать их с хуками после фиксации в Система СКМ).

  3. Используйте какую-то систему уведомлений об исключениях, чтобы перехватывать все непредвиденные ошибки, которые могут появиться в работе.

  4. Чтобы получить более общее представление о том, что произошло (что делал пользователь, когда произошло исключение), вы можете использовать что-то вроде Rackamole .

Надеюсь, это поможет.

0 голосов
/ 11 апреля 2010

Если вы разрабатываете с командой, лучше всего настроить сервер непрерывной интеграции . Для начала вы можете запустить это на любом компьютере разработчика. Но в целом хорошо иметь выделенную коробку, чтобы она всегда работала, была быстрой и не мешала разработчику. Обычно вы можете начать с чьего-то старого рабочего стола, но в какой-то момент вы можете захотеть, чтобы это был один из самых быстрых компьютеров, чтобы вы сразу получали ответ от тестов.

Я использовал круиз-контроль, бамбук и командный город, и все они отлично работают. В целом, чем меньше вы платите, тем больше времени вы тратите на его настройку. Мне повезло, и я сделал полный бамбук менее чем за час (один раз) - ожидаю потратить хотя бы пару часов в первый раз.

Большинство этих инструментов каким-то образом уведомят вас. Базовая линия - это электронная почта, но многие предлагают IM, IRC, RSS, SMS (среди прочих).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...