Using cucumber profiles with rake task

Hi,

Im trying to set up an environment where I am able to run different
cucumber profiles (webrat/selenium) in the same project.

I did manage to make them work using the cucumber command, so this
command works:
cucumber -p selenium features/done/items_selenium.feature

The problem I have is when I try to do the same thing using the rake
task. I followed the advice given on this thread
([Cucumber] and rake pass command-line params - RSpec - Ruby-Forum) and changed the rake task to
what is described below, but apparently the rake task does not consider
if you are passing a profile or not, and keeps requiring every file from
the features directory, generating some conflicts.

Cucumber::Rake::Task.new(:features) do |t|
profile = ENV[‘PROFILE’] || ‘default’
t.cucumber_opts = “-p #{profile} --format progress”
end

I did manage to make it work using this parameters in the rake task:

Cucumber::Rake::Task.new(:features) do |t|
t.cucumber_opts = “–format progress”
t.step_pattern =
[“features/webrat_steps//*.rb",“features/support/webrat_env.rb”]
t.feature_pattern = "features/
/*_webrat.feature”
end

but Im wondering if there is not a better way of doing this, reusing the
elements from the cucumber profile.

Am I missing something?

Regards,
Francisco

On Tue, Feb 10, 2009 at 10:27 AM, Francisco Trindade
[email protected] wrote:

task. I followed the advice given on this thread

elements from the cucumber profile.

Am I missing something?

The Cucumber rake task doesn’t support profiles very well. There is a
ticket for this:

http://rspec.lighthouseapp.com/projects/16211/tickets/187-rake-task-support-cucumberyml-profiles

On the ticket Ben M. provided his current solution, which is to
clear out the feature list:

Cucumber::Rake::Task.new(:selenium) do |t|
ENV[‘WEBRAT’] = ‘selenium’
t.cucumber_opts = “–profile selenium”
t.feature_list = []
end


Zach D.
http://www.continuousthinking.com

Thanks, now it makes sense.

Regards,
Francisco

Zach D. wrote:

On Tue, Feb 10, 2009 at 10:27 AM, Francisco Trindade
[email protected] wrote:

task. I followed the advice given on this thread

elements from the cucumber profile.

Am I missing something?

The Cucumber rake task doesn’t support profiles very well. There is a
ticket for this:

Lighthouse - Beautifully Simple Issue Tracking

On the ticket Ben M. provided his current solution, which is to
clear out the feature list:

Cucumber::Rake::Task.new(:selenium) do |t|
ENV[‘WEBRAT’] = ‘selenium’
t.cucumber_opts = “–profile selenium”
t.feature_list = []
end


Zach D.
http://www.continuousthinking.com
http://www.mutuallyhuman.com