Ruby On Rails in UA/Разработка на ROR/Тестирование в Rails, с чего начать?

13 ноября 2009, 21:41   Тестирование в Rails, с чего начать?
petRUShka
petRUShka
Живет: Moscow,RUS
Сообщений: 38
Рейтинг: 0.0
Рег: 26 сент. 2008

  •  
Есть уже работающее приложение. Но практически без тестов (базовые тесты, что сгенерил скаффолд). Сейчас встал вопрос тестирования и я пытаюсь определиться с инструментами. Подскажите, пожалуйста, куда копать и какие есть полезные статьи на следующие темы: 1) Rspec vs Test::Unit, верно ли что это противоположные подходы? Что лучше? 2) cucumber, mocha, Shoulda, faker, factory_girl - что из этого следуюет использовать и в каких случаях? 3) Как вы предпочитаете разрабатывать, если на раннем этапе не ясно, какой будет функционал? Вы выдавливаете из себя тесты или покрываете постфактум? Буду очень благодарен. Эту тему видел, но там не все ответы на мои вопросы
14 ноября 2009, 21:32   RE: Тестирование в Rails, с чего начать?
admin
Ruslan Voloshin
Живет: Odessa,UKR
Сообщений: 2441
Рейтинг: 616.0
Рег: 13 марта 2007
Его блог
  •  
petRUShka Мне кажется что достаточно юнит тестов и интегральных, потому что интегральные перкрывают функциональные. Я не фонат Rspec
Операции с WM | SEO консультации
15 ноября 2009, 09:23   RE: Тестирование в Rails, с чего начать?
placement_new
Andrey Cheremukhin
Живет: Samara, Russia
Сообщений: 78
Рейтинг: 19.0
Рег: 10 янв. 2009

  •  
petRUShka О том как начать тестировать с помощью спеков написано тут http://www.pragprog.com/titles/achbd/the-rspec-book. В сети книга есть.
15 ноября 2009, 19:23   RE: Тестирование в Rails, с чего начать?
cthulhu
Станіслав Погребняк
Живет: Жовті Води
Сообщений: 89
Рейтинг: 15.0
Рег: 09 февр. 2008
Его блог
  •  
petRUShka 1 - 2) Рекомендую рспек. Сам в свое время ввязался в шулда. Но рспек сильнее и гибче. Следуюющий проект однозначно будет с использованием рспек и cucumber. Autotest однозначно. Попробуй watchr тоже. Фабрики тоже нужны вместо фикстур. Faker + Populator тоже солидно ускоряют. mocha обязательно если прожект будет дергать внешний мир(твиттер например). FakeWeb смотри тоже. 3) разрабатывать по мере возникновения функционала. Если есть прожект и нужны тесты то просто педантично покрывать тестами функционал, что тяжело и необходимо чем то мерять покрытие - metric_fu, например, тут писали о нем. И последнее после выявления любых ошибок однозначно вписывать тест который падает и только потом фиксить. Обязательно проверять граничные условия( / 0 и т.д.).