Есть ли в RSpec эквивалент «Сценариям» Cucumber, или я неправильно использую RSpec?

Я впечатлен краткостью и полезностью сценариев Cucumber, они отличный способ протестировать множество различных случаев.

например пример сценария 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 "" with password "secret"
  When I visit profile for ""
  Then I should 

  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" |

(Код взят из Ryan Bates 'More on Cucumber Screencast )

Есть ли эквивалент в RSpec?

Я бы хотел сделать то же самое в RSpec и СУШИТЬ свой код, уменьшив различные тесты вплоть до строки в таблице сценария.

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

  1. Если это полезно, оно, вероятно, уже существует, и в каком случае мне его использовать?

  2. Если его не существует, это предполагает, что этого делать не следует и что я подхожу к проблеме неправильно, как мне переосмыслить свой подход к RSpec?

Какой ответ правильный и если он полезен, как мне это сделать?

17
задан Peter Nixey 13 January 2011 в 02:14
поделиться