the output would be weird, eg
Then he should see pork selections if
And he should see lamb selections if Y
And he should see veal selections if
On Apr 21, 2009, at 2:17 PM, Aaron VonderHaar wrote:
I think the scenario outline is the way to go, but in your example
it's not clear to me what the behavior is supposed to be-- is the
expected output in your Then statement really providing value?
Here's my take on it: http://gist.github.com/99281
Scenario Outline: Religious menus
Given the customer is "<Religion>"
When he asks for the menu
Then he should see pork selections if <Pork>
And he should see lamb selections if <Lamb>
And he should see veal selections if <Veal>
Scenarios:
| Religion | Pork | Lamb | Veal |
| Christian | Y | Y | Y |
| Jewish | | Y | Y |
| Muslim | | Y | Y |
| Hindu | | Y | |
Cheers,
--Aaron V.
On Apr 21, 2009, at 11:39 AM, 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