[rspec-users] Testing a wizard with Cucumber
Andrew Premdas
apremdas at gmail.com
Tue Nov 4 11:53:06 EST 2008
Thanks Matt, just what I was looking for :)
Andrew
2008/11/4 Matt Wynne <matt at mattwynne.net>
> On 4 Nov 2008, at 15:41, Andrew Premdas wrote:
>
> Assuming you have a multi-step wizard like thing, with lots of different
>> states and paths through it. What approach would your use to write a feature
>> for it? What I want to do is do the separate states and then reuse these
>> things in more complex scenarios that cover paths. For example
>>
>> Scenario: State A
>> Given I'm ...
>> And I'm ...
>> When I ...
>> Then I should see
>> And I at state A
>>
>> Now I'd like to reuse this to make my scenario from going from A to B
>> shorter e.g
>>
>> Scenario: Test A to B
>> Given State A
>> When I ...
>> ...
>>
>>
>> Instead of
>>
>> Scenario: Test A to B
>> Given I'm ...
>> And I'm ...
>> When I ...
>> Then I should see
>> And I at state A
>> When I ...
>> ...
>>
>> Is this possible? Do you have any other pointers about simplifying and
>> organising complex scenarios? Thanks in advance...
>>
>
> There's a relatively new (and possibly undocumented) feature in cucumber[1]
> where you can call steps from within other steps.
>
> So for example, you can have one scenario like this:
>
> Scenario: Log in as admin
> Given I visit the login page
> And I enter the username "matt"
> And I enter the password "secret"
> And I press "Submit"
> Then I should be on the admin page
>
>
> And another one like this:
> Scenario: View admin reports
> Given I log in as admin
> And I view the reports page
> Then I should see "reports"
>
> When you write the ruby step matcher for the first step in this scenario,
> you just call the step matchers that you wrote for the first scenario, like
> this:
>
> Given /I log in as admin/ do
> Given "I visit the login page"
> Given 'I enter the username "matt"'
> Given 'I enter the password "secret"'
> Given 'I press "Submit"'
> end
>
> Does that make sense? Does it help?
>
> cheers,
> Matt
>
> [1]
> http://rspec.lighthouseapp.com/projects/16211/tickets/3-create-givenscenario-dependency-accross-feature-files
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20081104/14b7c1da/attachment.html>
More information about the rspec-users
mailing list