Ruby & Ruby on Rails « Как уже начать писать тесты?

Друзья, поделитесь, пожалуйста, опытом – а как вы вперые начали писать тесты для своего Rails приложения? Я активно занимаюсь разработкой в среде Rails уже около полутора лет, но до сих пор не умею писать тесты и меня это очень сильно беспокоит.

В основном все статьи, которые мне до сегдоняшнего дня удалось нагуглить начинаются со слов вроде "Тест Юнитом уже никто не тестирует, порядочные пацаны использюут Рспек, и вот сейчас мы тебя научим, как его настроить". И далее рассказывается, как подружить RSpec и Rails, Rails и Cucumber, RSpec и Factory Girl. С примерами кода, тестирующего поведение сферического коня в вакууме или в лучшем случае валидацию пары моделек.

Это все отлично и наверное полезно, но понять как, зачем и что тестировать не помогает. Звучит забавно, но хочется найти что-то врооде сборника кейсов *что и как тестировать в типичном Rails приложении* и уже там знакомится с вышеописанными инструментами и примерами кода.

1 ответов


Я использовал тесты при написании библиотек со сложной логикой. В принципе, первые 90% логики работают отлично, но по опыту скажу что последние 10% функционала тянут за собой сплошные баги (мы всегда оставляем на последок самое непонятное и сложное??). Ну так вот - мои тесты очень помогли найти и исправить появившиеся на последних 10% работы ошибки.
Что использовать: я и RSpec с FactoryGirl юзал, и простые юнит тесты..
Но если тебе нужны простые и запускающиеся из-под чистого ruby интерпретатора тесты - то не усложняй себе жизнь!
Напиши свой test suite. И дебажится в IDE, и запускается через `ruby test.rb`. И не глючит.
Вот мой пример:
https://gist.github.com/vitalyp/5598707
Скинь оба файла в одну папку, и запусти из консоли `ruby test.rb`
Поддерживаются:

assert_true(assertion)
assert_equal(got_value, expected)
assert_raise
assert_not_raise

Удачи!