Как лучше всего протестировать приложение rails?
Сначала тест.
Если серьезно, вы перечислили несколько различных инструментов, предназначенных для выполнения разных задач.
- Ifa - это тестовый фреймворк для запуска тестов и набор сопоставителей и утверждений для написания тестов.
- Mocha - библиотека для насмешек и заглушек.
- Rspec - это тестовый фреймворк, который включает в себя инструменты для проверки и сопоставления.
- Cucumber - это фреймворк для написания функциональных тестов.
- Factory Girl - это фреймворк для создания доменных объектов, которые вы используете в своих тестах.
Из них либо Ifa, либо Rspec могут заменить Test :: Unit, в то время как остальные предоставляют инструменты для различных областей тестирования. Какой из них вам нужен, зависит от того, что, по вашему мнению, сделает написание тестов более простым и эффективным.
Для тех, кто привык тестировать :: модульные тесты и заинтересован в изучении дополнительных инструментов, я бы предложил следующее.
Если у вас есть существующий проект, использующий Test :: Unit, рассмотрите возможность добавления насмешек и заглушки Mocha и посмотрите, позволяет ли это вам легче писать сфокусированные модульные тесты. Если у вас уже есть приборы, рассмотрите возможность использования Factory Girl для генерации фабрик, поскольку вы добавляете новые объекты модели и снова смотрите, не найдете ли вы, что облегчает управление и сопровождение ваших тестов. Если у вас уже есть солидный набор модульных тестов, подумайте об использовании Cucumber для написания функциональных тестов более высокого уровня, чтобы начать сбор пользовательских историй в тестах и тестировать ваше приложение от начала до конца.
Если вы начинаете новый проект, начните с Rspec и Factory Girl. Rspec познакомит вас с совершенно другим стилем тестирования, чем Test :: Unit, но вы все равно будете писать довольно знакомые модульные тесты, и он предоставляет заглушки, макеты и совпадения, которые позволят вам погрузиться в тестирование без взрыва слишком большого количества новых драгоценные камни в вашем проекте. Factory Girl предоставит вам удобный способ создания доменных объектов, так как ваши тесты требуют их. Между этими двумя вы должны быть в состоянии выбрать кучу новых приемов тестирования, все еще работая с вашим обычным рабочим процессом модульного тестирования.