Rails - модульное тестирование - PullRequest
4 голосов
/ 21 февраля 2011

Я хочу научиться писать модульные тесты для приложения Rails. Где я могу начать? Все учебные пособия в Google устарели, начиная с 2007 года, и, похоже, существует множество вариантов, но они не являются предпочтительным решением. Предложения приветствуются.

Ответы [ 3 ]

7 голосов
/ 21 февраля 2011

В настоящее время большинство людей, похоже, используют Rspec для модульного тестирования и Огурец для интеграционного тестирования.Вы можете увидеть довольно недавний опрос здесь , где 87% выбрали Rspec в опросе.

Отличная книга для Rspec и Cucumber - Книга Rspec , написанная нынешнимсопровождающий Rspec.Это касается как Rspec, так и Cucumber.

Railscasts также имеет несколько соответствующих скринкастов. Cucmber1 , Cucumber2

Многие люди, кажется, любят Cucumber, но это не кажется полезным, если у вас нет клиента, для которого вы работаете.Большинство моих проектов - побочные проекты, которые я делаю сам, поэтому сейчас я смотрю на Стейк вместо огурца.Это позволит мне использовать Rspec для модульных тестов и Steak для интеграционных тестов и уменьшит некоторую сложность / скуку, возникающую при использовании Cucumber.

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

Тем не менее, одна вещь, которую вы, вероятно, хотите избежать с самого начала - это игры.Вместо этого используйте фабрики и посмотрите на этот эпизод Railscasts .


ОБНОВЛЕНИЕ: стейк больше не нужен, и та же функциональность запечена в Rspec.

6 голосов
/ 21 февраля 2011

Я бы предложил начать с Книги Rspec Дэвида Челимского и его друзей. В нем рассматриваются различные типы тестирования, почему вы должны тестировать, и приводятся различные примеры, которые показывают вам хорошие практики, а также дают рекомендации о том, чего следует избегать.

Rspec очень популярен и предпочитается многими из стандартного набора тестов rails. Большая часть материала, который я прочитал и который содержит стандартный тестовый набор, заканчивается введением в Rspec и его упрощением.

3 голосов
/ 21 февраля 2011

Если вы хотите сделать это правильно, вам следует использовать другие тестовые среды, такие как Rspec , Cucumber или musta .Таким образом, вы будете писать модульные тесты в контексте BDD.Эти фреймворки недавно появились, поэтому очевидно, что документация, которую вы найдете о них, достаточно свежа!Наконец, я бы посоветовал вам прочитать этот отличный пост от Сары Мей в блоге о внешнем подходе, объединяющем Rspec / Cucumber. Именно поэтому я убедился в использовании этих фреймворков, она действительно очень хорошо объясняет, как выдолжен подойти к тестам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...