Andrew Premdas wrote:
Thanks Matt, just what I was looking for :)
Andrew
You could also use GivenScenario. It works like this:
Scenario: State A
Given I'm ...
And I'm ...
When I ...
Then I should see
And I at state A
Scenario: Test A to B
GivenScenario A
When I ...
Or you could do a combination of this approach and what Matt suggested.
Meaning, you could make a more descriptive "Given" step that simply
calls the "GivenScenario State A" internally. Make sense?
HTH,
Ben
2008/11/4 Matt Wynne <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
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
[email protected] <mailto:[email protected]>
http://rubyforge.org/mailman/listinfo/rspec-users
------------------------------------------------------------------------
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users