On Tue, Apr 21, 2009 at 8:50 PM, Jonathan Linowes
<jonat...@parkerhill.com>wrote:

> Without adding a new feature to Cucumber, I'd probably do
>
> Scenario Outline: Religious menus
>   Given the customer is a "<Religion>"
>   When they ask for the menu
>   Then they should be presented with "<Meats>"
>
> Examples:
>   | Religion  | Meats             |
>   | Christian |  Pork, Lamb, Veal |
>   | Jewish    |        Lamb, Veal |
>   | Muslim    |        Lamb, Veal |
>   | Hindu     |        Lamb       |
>

This certainly would work, but what if we're not dealing with booleans
(Lamb/No Lamb), but numbers?
|34,76,89| doesn't read so well...

Aslak


>
> and then parse the meat string in the step definition
>
> meat.split(',') etc
>
>
> On Apr 21, 2009, at 12:39 PM, aslak hellesoy wrote:
>
> Being the author of Cucumber, some of you might be surprised that I ask
> this question:
>
> How should I go about to implement a Cucumber feature and step definition
> with the following data?
> http://gist.github.com/99220 (just look at the first file for now)
>
> Imagine I'm opening a restaurant where customers are asked for their
> religion. Based on what they answer, they will be presented with a tailored
> menu. (Apologies in advance if I'm ignorant about what different people it).
>
> In Cucumber, there are several ways to put this table in a feature. It can
> be part of a table in a Scenario Outline's Examples section (
> http://wiki.github.com/aslakhellesoy/cucumber/scenario-outlines), or it
> can be sent to a Step as a multiline argument (
> http://wiki.github.com/aslakhellesoy/cucumber/multiline-step-arguments).
>
> In either case, I'm not happy about the feature and step definitions I end
> up with. The Scenario Outline version has annoying duplication. I have to
> duplicate each meat 3 times! This makes it hard to read and edit. The
> multiline step argument version isn't much better. If a menu for a religion
> is wrong I'll only get one error, the error won't tell me what's wrong
> (unless I explicitly craft my error messages in the step definition) and max
> one failure will show (there is only one scenario).
>
> There should be a better way to express this kind of tests. But I'm not
> sure how. Is there a smarter way with the current Cucumber? If not, how
> would you *like* to express this sort of problem?
>
> Cheers,
> Aslak
>
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
>
>
> _______________________________________________
> rspec-users mailing list
> rspec-users@rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to