Меня впечатляет краткость и полезность сценариев Cucumber, они отличный способ проверить нагрузку разных случаев.
например. пример сценария огурца
Feature: Manage Users
In order to manage user details
As a security enthusiast
I want to edit user profiles only when authorized
Scenario Outline: Show or hide edit profile link
Given the following user records
| username | password | admin |
| bob | secret | false |
| admin | secret | true |
Given I am logged in as "<login>" with password "secret"
When I visit profile for "<profile>"
Then I should <action>
Examples:
| login | profile | action |
| admin | bob | see "Edit Profile" |
| bob | bob | see "Edit Profile" |
| | bob | not see "Edit Profile" |
| bob | admin | not see "Edit Profile" |
(Код, взятый из Райан Бэйтс Больше на огурцевом скринкасте)
Есть ли эквивалент в RSpec?
Я хотел бы сделать то же самое в RSpec и DRY мой код, уменьшив количество тестов до строки в таблице сценариев.
Хотя я мог написать код, чтобы сделать это сам, тот факт, что я рассматриваю его, заставляет меня задаться вопросом две вещи.
-
Если это полезно, возможно, он уже существует в этом случае, как его использовать?
-
Если он не существует, он предполагает, что это не должно быть сделано таким образом и что я неправильно подхожу к проблеме, как мне пересмотреть мой подход к RSpec?
Какой ответ правильный, и если он полезен, как мне это сделать?