[rspec-users] Reuse of Cucumber Features

Zach Dennis zach.dennis at gmail.com
Thu Apr 9 15:36:49 EDT 2009


On Thu, Apr 9, 2009 at 3:30 PM, Zach Dennis <zach.dennis at gmail.com> wrote:
> On Thu, Apr 9, 2009 at 2:56 PM, Matt Wynne <matt at mattwynne.net> wrote:
>>
>> On 9 Apr 2009, at 17:47, Zach Dennis wrote:
>>
>>> On Thu, Apr 9, 2009 at 9:29 AM, Williams, Wesley
>>> <Wesley.Williams at sabre.com> wrote:
>>>>
>>>> Matt,
>>>>
>>>> Hmm, I think this is one way to do it.  I will need to get my customer
>>>> to think differently about defining the requirements.  They really like
>>>> the tables.
>>>
>>> Some times table just work best. I love writing scenarios with natural
>>> language, but I've hit many cases where the inputs and outputs are
>>> best displayed as a table, and it's easier for the customer to gr0k,
>>> then to read a short novel.
>>>
>>> This kind of re-use that you seem to need sounds like a potential
>>> feature for Cucumber. A way to utilize an external file to house a
>>> table of data. e.g.:
>>>
>>> Background
>>>  Given I have the following set of flights:
>>>     | foo | bar | baz |
>>>     ...
>>>
>>> Would become
>>>
>>> Background
>>>   Given I have the following set of flights:
>>>   FromFile: flights/scheduleA
>>>
>>> And then you'd have the flights/scheduleA house:
>>>
>>>     | foo | bar | baz |
>>>     ...
>>>
>>> Cucumber could dump in the table data it found from the file, and
>>> print it out when running the scenarios, and it allows some sets of
>>> sample data be re-used easily, in an understandable manner.
>>>
>>> WDYT?
>>
>>
>> This is a good idea - people do this with Fit (as opposed to Fitnesse) and
>> go straight to a spreadsheet for the examples.
>>
>> I don't see why it needs a new Cucumber feature though - you could easily
>> (and more flexibly) write a custom step yourself to load in the data from an
>> external file, right?
>
> That's true, but why does everyone need to write their file loading
> step/code? It seems like something where flexibility really doesn't
> benefit anyone, unless you are doing something unique and special,
> which I think is different than simply being able to store example
> tables in an external file.

One more though, how would you process your example table from a file
within a step? Would you do a giant "eval" after reading the contents?
Or would you reach into the guts of Cucumber to programmatically build
the right thing? Is there another way? I've never done it, so just
asking how you would approach this by writing your own step,

>
>
>>
>> Matt Wynne
>> http://blog.mattwynne.net
>> http://beta.songkick.com
>>
>>
>
>
>
> --
> Zach Dennis
> http://www.continuousthinking.com
> http://www.mutuallyhuman.com
>



-- 
Zach Dennis
http://www.continuousthinking.com
http://www.mutuallyhuman.com


More information about the rspec-users mailing list