Я использую комбинацию Cucumber + Shoulda, но то, что я собираюсь вам сказать, все еще применимо к вашей настройке.
При тестировании контроллера я использую Следует в функциональном тесте, чтобы поразить все мои "отрицательные аутентификационные" ситуации. Например:
- Зарегистрированный пользователь пытается получить доступ к странице администратора.
- Вышедший из системы пользователь пытается получить доступ к защищенному контенту.
- Пользователь A пытается удалить сообщение пользователя B.
Я использую для этого Следует, потому что я обычно ищу, чтобы меня выгнали на страницу входа в систему и что модель, к которой пытались получить доступ злонамеренно, фактически не изменилась. Я мог бы использовать Cucumber для этого, но я считаю, что проще и менее громоздко делать с несколькими макросами Следует и некоторыми функциональными тестами. Здесь лучше всего подходит контекст.
Тогда для "хороших аутентичных" ситуаций я использую огурец. Вещи как:
- Пользователь получает доступ к своей странице настроек.
- Администратор выдает отчеты.
Эти типы тестов требуют, чтобы я проверял некоторый фактический контент страницы, а не просто проверял наличие «доступа запрещен» снова и снова. Я считаю, что информативность Cucumber очень подходит здесь.