В помощь молодым rspec-ерам.
Презентации с исчерпывающей информацией по rspec-у. Их удобно использовать как шпаргалки.
- http://kerryb.github.com/iprug-rspec-presentation/
- http://pure-rspec-rubynation.heroku.com/
- gem cheat; cheat rspec – классная система подсказок, с возможностью редактировать их на свое усмотрение в wiki-стиле.
best practices
- http://eggsonbread.com/2010/03/28/my-rspec-best-practices-and-tips/
- http://kpumuk.info/ruby-on-rails/my-top-7-rspec-best-practices/
Чаще пользуйте mock вместо factory_girl
Мы также используем factory_girl, но старайтесь использовать мокинг вместо факторинга.
Во-первых такие тесты выполняются быстрее, а так как полный комплекс можно запускать по несколько раз в час, ждать 1 минуту вместо 10 гораздо приятнее. Во-вторых мокинг подразумевает что вы укажете через stub или should_receive все ожидаемые вызовы, а значит ваш тест будет более понятен как спецификация и более исчерпывающий как тест.
BDD это спецификация, а не тест.
bdd подразумевает что вы сначала напишите спецификацию, а потом будете писать код. Прелесть в том, что эта спецификация является еще и тестом. Писать сначала спек, а потом код важно, потому что таким образом мы сначала задумываемся а что жы мы хотим сделать, какой метод имплементируем сначала, что он будет принимать и что делать с остальными объектами, а потом уже реализовывать это. Такой подход оправдывает затраты на написание спека, так как значительно снижаются затраты на написание кода – он получается более обдуманным.