我有一个Rakefile(下面),其中包含一个运行Cucumber场景的任务。
task :feature, [:name, :times] do |task,args|
puts "Executing feature: #{args[:name]} #{args[:times]} times"
@errors = 0
@processes = 0
# cuke_task.cucumber_opts = "-p #{args[:name]}"
args[:times].to_i.times do
begin
@processes += 1
puts "Running #{args[:name]} -- #{@processes}"
# Rake::Task[:features].execute
Cucumber::Rake::Task.new(:run) do |t|
t.cucumber_opts = "--format pretty -p #{args[:name]}"
end
Rake::Task[:run].invoke
rescue Exception => e
@errors += 1
puts "Task #{args[:name]} failed!"
puts "#{e.class}: #{e.message}"
end
end
puts "Errors: #{@errors}"
puts "Processes: #{@processes}"
end
另一个代码是我的cucumber.yml
demo_upload_manual_cip: --tags @demo_upload_manual_cip
demo_treat_complaint: --tags @demo_treat_complaint
demo_follow_complaint: --tags @demo_follow_complaint
demo_upload_manual_fa: --tags @demo_upload_manual_fa
demo_contact_consumer: --tags @demo_contact_consumer ##
demo_send_defense: --tags @demo_send_defense ##
demo_briefing: --tags @demo_briefing
demo_insert_ata: --tags @demo_insert_ata ##
demo_audience: --tags @demo_audience
demo_send_late_defense: --tags @demo_send_late_defense ##
对于带##的标签,rake任务忽略(未调用)。其他任务都没问题。这就是我打电话给他们的方式:" rake feature [' tag_name',3]"。
为什么Rake会忽略其中的一些标签?有什么问题?
谢谢!