You can use GivenStories to define preconditions to entire scenarios, not just to a single step.
Scenario: A scenario that depends on other scenarios GivenStories /path/to/a/precondition/story When I do something that depends on precondition Then I'm successful On 19/08/2010 21:48, Victor Moura wrote: > Hi, > > Not really. I would like something like this > > # ruby > Given /^a document exists with content$/ do |pystring| > Given "I go to add a document" > And 'I fill in "ditacontent" with', pystring > And 'I press "Add to repository"' > end > > In this code, the step "Given a document exists with content" is being > defined. What this step does is call theese 3 inner steps that are > defined somewhere else. > > > On Thu, Aug 19, 2010 at 4:45 PM, Mauro Talevi > <[email protected]> wrote: >> JBehave supports alias annotations to reference the same method with >> different language patterns. >> >> Is this what you mean? >> >> Cheers >> >> On 19 Aug 2010, at 16:30, Victor Moura <[email protected]> wrote: >> >>> Hi, >>> >>> Is there a way to, when defining a step, use a step alteady defined >>> (not by calling the method)? Something like is done in Cucumber, like >>> the following >>> >>> >>> When /I log in the site with the login "(.*)" and password "(.*)"/ do >>> | login, passwd | // This is the step that we want to define >>> When /I fill the field "txtLogin" with "login" // This step, >>> was defined somewhere else, and will be called inside the step we are >>> defining now >>> When /I fill the field "txtPassword" with "passwd" // Calls the >>> same step as the above, using different parameters >>> end >>> >>> The idea is that we can define "higher level" steps independent of the >>> method we define in java, and that the legibility of those higher >>> level steps we are defining is greater that what we get when using >>> something like (in JBehave) >>> >>> @When "I log in the site with the login \"$login\" and password \"$passwd\" >>> public void doLogin(String login, String passwd) { >>> fillTextField("txtLogin", login); // this method is defined as a >>> step somewhere else >>> fillTextField("txtPassword", passwd); >>> } >>> >>> You see, it looks pretty much the same, but I like the idea of being >>> able to make the steps more reusable, independent and legible. >>> >>> Thanks in advance. >>> >>> -- >>> Victor Moura Cortez >>> >>> --------------------------------------------------------------------- >>> To unsubscribe from this list, please visit: >>> >>> http://xircles.codehaus.org/manage_email >>> >>> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> >> > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
