Как вы разрабатываете приложение outside-in Rails с использованием Cucumber и RSpec?
-
21-08-2019 - |
Вопрос
Я только начинаю использовать BDD в приложении Rails, но я не уверен, каковы лучшие практики и рабочие процессы?И какие еще вещи, которые мне действительно нужны для тестирования моего проекта, такие как определения шагов, контроллеры, модели и представления?Нужно ли мне тестировать все это?
Решение
Обычно я думаю о Cucumber как о способе проведения интеграционного тестирования вашего приложения.В сочетании с Webrat вы можете отлично тестировать рабочие процессы пользователей, представления и так далее.Для модульных тестов вам захочется спуститься на более низкий уровень и протестировать свои модели только с помощью rspec.Возможно, вы также захотите провести некоторые функциональные тесты на контроллерах, и я, вероятно, тоже не стал бы использовать Cucumber для этого.
Вот пара видеороликов:
Другие советы
У Райана Бейтса есть несколько хороших роликов на эти темы:
Это может быть делом вкуса, но, опробовав Rspec, я предпочитаю использовать встроенную платформу тестирования Rails вместе с драгоценным камнем под названием Следовало Бы.На мой взгляд, эта комбинация позволяет вам писать гораздо более четкие, емкие и понятные тесты, чем Rspec на сегодняшний день.Но не все согласились бы с этим.
Должно было контексты позволяет вам организовать ваши тесты в логические иерархии, что действительно помогает, когда вы пытаетесь протестировать все возможные пути в какой-нибудь сумасшедшей, ветвящейся ситуации, например, пользователь входит в систему с правильным pw, неправильным pw, правильным pw, но регистрация не подтверждена и т.д.
Кроме того, обязательно установите ЗенТест драгоценный камень.Это позволяет вам просто выполнить команду $ autotest
и ваши тесты будут запускаться автоматически каждый раз, когда вы меняете файл.