[Cucumber] 如何用 rakefile 重跑 Cucumber Fail 的 Features ???
凌晨12:42[Cucumber] 如何用 rakefile 重跑 Cucumber Fail 的 Features ???
此外, 若去查 cucumber -h , 你會發現其實 Cucumber 已經有支援 rerun 的功能 :
Use --format rerun --out rerun.txt to write out failing features. You can rerun them with cucumber @rerun.txt.
- :run 用來執行任務
- :rerun 用來重跑任務
require 'rubygems'
require 'cucumber'
require 'cucumber/rake/task'
namespace :test do
desc 'ExecuteTestCase'
task :execute do
Cucumber::Rake::Task.new(:run) do |t|
t.cucumber_opts = "-f pretty --format rerun --out rerun.txt"
end
is_first_run_successful = run_rake_task ("run")
if not is_first_run_successful
Cucumber::Rake::Task.new(:rerun) do |t|
t.cucumber_opts = "@rerun.txt"
end
run_rake_task("rerun")
end
end
def run_rake_task(name)
begin
Rake::Task[name].invoke
rescue Exception => e
puts e
return false
end
true
end
end
完成後我們就來執行 :
當第一個任務失敗之後就會啟動 rerun ,因此就能夠輕易的需求了.
$ rake test:execute
當第一個任務失敗之後就會啟動 rerun ,因此就能夠輕易的需求了.
至於 Cucumber::Rake::Task 是做什麼用的, 就下回分曉啦... Yeah :)
1. RAKE
2. [Ruby] Ruby的頭號Gem:Rake
3. Auto Retry Failed Cucumber Tests
0 意見