[rspec-users] Features and conditions for those to be executed

Luis Lavena luislavena at gmail.com
Mon Nov 24 14:10:59 EST 2008


On Mon, Nov 24, 2008 at 2:02 PM, Joseph Wilk <josephwilk at joesniff.co.uk> wrote:
> Andrew Premdas wrote:
>>
>> Assuming you're writing a feature for a black box that works under
>> linux, osx but not under windows. Can you not write a features like
>>
>> Given I'm on windows
>> When I run black box
>> I should get an error ...
>>
>> Given I'm on OSX
>> When I run black box
>> I should not get an error ...
>>
>> Just an idea, HTH
>>
>> Andrew
>>
>>
>> 2008/11/22 Luis Lavena <luislavena at gmail.com>:
>>
>>>
>>> Hello Guys,
>>>
>>> May this question be silly, so I'm exposing myself as a complete dumb ;-)
>>>
>>> I've been working on a project called rake-compiler, which enable the
>>> building of extension with C compilers in a standarized way.
>>>
>>> http://github.com/luislavena/rake-compiler/tree/master
>>>
>>> The thing is been driven by features and with some specs to guide me
>>> in the task associations of rake, but not much after.
>>>
>>> Now I have a problem: I want to introduce cross compilation which can
>>> only be executed in certain environments, not all.
>>>
>>> I have specs that tell me what will happen (what things will get
>>> defined as rake tasks) and the chain, but I cannot execute it under
>>> Windows.
>>>
>>> Only under OSX or Linux can be executed (which I'm using right now to
>>> drive it).
>>>
>>> There is a way that I can exclude this feature from being executed in
>>> this case? I will prefer to avoid having a feature list to maintain,
>>> but if is the only choice, no problem.
>>>
>
> You could use profiles in the cucumber.yml file. Rather than creating a long
> feature list you can exclude a feature from one profile.
>
> Cucumber accepts:
> -e, --exclude PATTERN            Don't run features matching a pattern
>
> @@@
> windows: --format progress features --exclude pesky_windows_feature
> mac:         --format progress features
> @@@
>
> Then run them with:
> cucumber --profile windows
> cucumber --profile mac
>
> HTH,

Thanks Joseph,

I will love to drive the "show" only using "rake features" or by
calling cucumber features directly, thus avoiding to remember that
exclusion list.

BTW: the pesky feature will be OSX and Linux, not Windows, so the
pesky ones are posix, not Windows ;-)

-- 
Luis Lavena
AREA 17
-
Human beings, who are almost unique in having the ability to learn from
the experience of others, are also remarkable for their apparent
disinclination to do so.
Douglas Adams


More information about the rspec-users mailing list