Практики масштабного модульного тестирования в Rails - PullRequest
1 голос
/ 24 июня 2011

Каковы общие рекомендации, процедуры или практики для тестирования больших и сложных приложений Rails?Существуют ли определенные части приложения (т. Е. Аутентификация пользователя, поиск), которые следует протестировать поверх других?Когда и как должны проводиться тесты в текущем цикле разработки?

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

1 Ответ

4 голосов
/ 24 июня 2011

Каждая строка ниже является дискуссионной;это как раз то, что мне подходит:

  • Пусть ваши юнит-тесты будут настоящими юнит-тестами, а не функциональными тестами.Изолируйте их с помощью макетов и заглушек, они упрощают написание, чтение и изменение тестов.
  • Чтобы дать себе свободу проводить настоящие модульные тесты, дополните их интеграционными тестами.По крайней мере, посетите каждый из ваших маршрутов и проверьте код ответа.
  • Отладчик дает вам крылья.
  • FactoryGirl или что-то еще, что не является крепежом.
  • Rcov /SimpleCov.Приучите себя чувствовать себя обнаженным, когда вас раскроют.
  • Rspec, Shoulda, Webrat.Потратьте время, чтобы сделать ваши спецификации сканирования на английском языке.Читать книгу.Пишите много помощников по спецификациям и пользовательских сопоставлений.
  • Ixnay на огурце, слишком многословный, добавляет немного.
  • Дженкинс.Интеграция с инструментом покрытия и порка.Никогда не развертывайте без зеленого света.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...