Newman Huang
2008-Nov-26 03:27 UTC
[rspec-users] could one scenario depend on another in cucumber?
I think it is a common test case you would meet. For example, you want to test a user registry scenario. You write: Scenario: User Registry When I dosth Then I dosth ... And now business has some changes. Register should have to activate his account by a secret code sent by mobile phone. So you need to write the other scenario: Scenario: User Registry and Account Activation By Mobile When I dosth Then I dosth ... #above is the samed as User Registry scenario Then I visit "my setting" page And I fill in "activate code" with "code" ... Because the second scenario is based on the first one, cucumber can do the things like: Scenario: User Registry and Account Activation By Mobile depend on [Scenario: User Registry] ?? If you use ant to write build file, or rake task, dependency is supported. So cucumber also can do it, right? Thanks. -- Posted via http://www.ruby-forum.com/.
Matt Wynne
2008-Nov-26 08:18 UTC
[rspec-users] could one scenario depend on another in cucumber?
On 26 Nov 2008, at 03:27, Newman Huang wrote:> I think it is a common test case you would meet. For example, you want > to test a user registry scenario. You write: > > Scenario: User Registry > When I dosth > Then I dosth > ... > > And now business has some changes. Register should have to activate > his > account by a secret code sent by mobile phone. So you need to write > the > other scenario: > > Scenario: User Registry and Account Activation By Mobile > When I dosth > Then I dosth > ... > #above is the samed as User Registry scenario > > Then I visit "my setting" page > And I fill in "activate code" with "code" > ... > > Because the second scenario is based on the first one, cucumber can do > the things like: > > Scenario: User Registry and Account Activation By Mobile > depend on [Scenario: User Registry] > > ?? > > If you use ant to write build file, or rake task, dependency is > supported. So cucumber also can do it, right?You need the feature known as ''Call Steps From Steps'': http://rspec.lighthouseapp.com/projects/16211/tickets/3-create-givenscenario-dependency-accross-feature-files This basically allows you to make a magic step which calls in some or all of the steps from the other scenario. Also, perhaps I might humbly recommend my blog post about the subject: http://blog.mattwynne.net/2008/11/14/dry-up-your-cucumber-steps/ Hope that helps, Matt
Pau Cor
2008-Nov-26 09:41 UTC
[rspec-users] could one scenario depend on another in cucumber?
Newman Huang wrote:> I think it is a common test case you would meet. For example, you want > to test a user registry scenario. You write: > > Scenario: User Registry > When I dosth > Then I dosth > ... > > And now business has some changes. Register should have to activate his > account by a secret code sent by mobile phone. So you need to write the > other scenario: > > Scenario: User Registry and Account Activation By Mobile > When I dosth > Then I dosth > ... > #above is the samed as User Registry scenario > > Then I visit "my setting" page > And I fill in "activate code" with "code" > ... > > Because the second scenario is based on the first one, cucumber can do > the things like: > > Scenario: User Registry and Account Activation By Mobile > depend on [Scenario: User Registry] >yes, try this: Scenario: User Registry and Account Activation By Mobile GivenScenario: User Registry Then I visit "my setting" page And I fill in "activate code" with "code" ... HTH Paul -- Posted via http://www.ruby-forum.com/.
Matt Wynne
2008-Nov-26 09:46 UTC
[rspec-users] could one scenario depend on another in cucumber?
On 26 Nov 2008, at 09:41, Pau Cor wrote:> > yes, try this: > > Scenario: User Registry and Account Activation By Mobile > GivenScenario: User RegistryI think I might be right in saying that technique is likely to be deprecated in the future. I don''t think it''s recommended anymore. See my earlier response. cheers, Matt
Pau Cor
2008-Nov-27 07:28 UTC
[rspec-users] could one scenario depend on another in cucumber?
Matt Wynne wrote:> I think I might be right in saying that technique is likely to be > deprecated in the future. I don''t think it''s recommended anymore. See > my earlier response.Thanks Matt. That is good to know. Paul -- Posted via http://www.ruby-forum.com/.
Newman Huang
2008-Nov-28 09:08 UTC
[rspec-users] could one scenario depend on another in cucumber?
Matt Wynne wrote:> On 26 Nov 2008, at 03:27, Newman Huang wrote: > >> account by a secret code sent by mobile phone. So you need to write >> And I fill in "activate code" with "code" >> If you use ant to write build file, or rake task, dependency is >> supported. So cucumber also can do it, right? > > You need the feature known as ''Call Steps From Steps'': > http://rspec.lighthouseapp.com/projects/16211/tickets/3-create-givenscenario-dependency-accross-feature-files > > This basically allows you to make a magic step which calls in some or > all of the steps from the other scenario. > > Also, perhaps I might humbly recommend my blog post about the subject: > http://blog.mattwynne.net/2008/11/14/dry-up-your-cucumber-steps/ > > Hope that helps, > MattHi, Matt Thanks for your kind reply. Yesterday I rethink such a test case need scenario dependency, and I find a way to walk around it. We know cucumber defines the scenario implementation in the steps ruby file. So all the scenario reusing(dependency) should be a step reusing, and then we can define a well-defined step for scenario dependency. Here is a sample: Scenario: User Registry When I dosth Then I dosth We can define it in the step: Given /^I have registered with "(.*)" and "(.*)"$/ do |name,password| ... end and for the other scenario, we can describe it as this way: Scenario: User Registry and Account Activation By Mobile Given I have registered with "somebody" and "password" Then I visit "my setting" page And I fill in "activate code" with "code" Such a implementation would be more reasonable, for it is simple. -- Posted via http://www.ruby-forum.com/.