[rspec-users] [Cucumber] Struggling with "multiple step definitions"

aslak hellesoy aslak.hellesoy at gmail.com
Sat Jan 17 19:25:09 EST 2009

On Sat, Jan 17, 2009 at 10:48 PM, Bart Zonneveld <zuperinfinite at gmail.com>wrote:

> Hey gang,
> I find myself struggling with multiple step definitions in cucumber all the
> time. I regularly test the contents of my flash[:notice] in steps, since I
> think that's part of the behaviour of the app. So, while implementing a new
> feature, I ran into the following error:
> /opt/local/lib/ruby/gems/1.8/gems/cucumber-0.1.15/bin/../lib/cucumber/step_mother.rb:81:in
> `regexp_args_proc': Multiple step definitions match "zou ik een melding
> moeten zien dat de reactie gemarkeerd is als spam": (Cucumber::Multiple)
> features/steps/comments.rb:93:in `/^zou ik een melding moeten zien dat de
> reactie gemarkeerd is als spam$/'
> features/steps/common.rb:9:in `/^zou ik een melding moeten zien dat de|het
> (.*?) is opgeslagen$/'
> Even those who aren't fluent in Dutch (since that's what the steps are
> written in), it's clearly not the same step... I am no regex wizard, so I
> might do something horribly wrong with my steps, but I do like to know how I
> can fix this.

Step 1) Use rubular.com. It rocks. For this example you'll see that your
string matches both regexen (and where in the regexen they match)

Step 2) Avoid | in Step definitions if you can. They often work against the
idea of  a Ubiquitous Language.
You can read more about this here:
I realise that in your case you're using | to work around Dutch grammar
(several ways to say "the"), and in this case I think | is ok.

You probably wanted this:

/^zou ik een melding moeten zien dat (?:de|het) (.*) is opgeslagen$/

Ik hoop dat dit helpt :-)


> Any ideas?
> thanks,
> bartz
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

Aslak (::)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20090118/09d42cd0/attachment.html>

More information about the rspec-users mailing list