2015-12-27 70 views
0

我找遍了這種高和低,專爲既依賴和任務參數的RSpec的rake任務 - 找到答案,幫助後人如何定義帶有參數的Rake任務和依賴

基本上我想做的事通過標記過濾測試,並傳入我用於某些特定應用行爲的觸發器。

bundle exec rake spec[some_tag,some_trigger] 

,我想取決於:乾淨「測試報告」任務

回答

1

答案在評論記錄了「resolve_args_with_dependencies(參數,哈希值)」在lib /耙法/ task_manager.rb文件。

# The patterns recognized by this argument resolving function are: 
# 
# task :t => [:d] 
# task :t, [a] => [:d] 

因此,這意味着你需要如下

# :spec task depends on clean and 'test-reports' tasks 
# and takes args for tags and triggers 
RSpec::Core::RakeTask.new(:spec, [:tag, :triggers] => [:clean, 'test-reports']) do |task, args| 
    task.rspec_opts = "--tag #{args[:tag]}" 
    # args is a Rake::TaskArguments object (NOT a hash) 
    ENV[TRIGGERS] = args[:triggers] 
end 
+0

申報任務還有一個在http://stackoverflow.com/questions/825748/how-do-這個更長的討論i-pass-command-line-arguments-to-rake-task?rq = 1,但我沒有首先查看,因爲沒有提及標題中的依賴關係 – Leif