2014-04-11 84 views
0

通常我使用parallel_cucumber運行我的測試,它使用parallel_test gem並行運行不同的功能。我想設置一個rake任務,該任務將使用不同的配置文件運行,並在每個任務中並行運行這些功能。如何在並行的rake任務中運行功能?

我安裝我的Rake文件是這樣的:

namespace :features do 
    Cucumber::Rake::Task.new(:basket) do |t| 
    t.profile = "basket" 
    end 

    Cucumber::Rake::Task.new(:fruits) do |t| 
    t.profile = "fruits" 
    end 

    Cucumber::Rake::Task.new(:veggies) do |t| 
    t.profile = "veggies" 
    end 
    task :all => [:basket, :fruits, :veggies] 
end 

當我運行「耙特點:所有」它將運行在序列中的每個任務(如預期/期望的),但每個任務一個內運行特點一次(不期望)。我想保持每個任務順序運行,但希望每個任務中的功能並行運行。這可能嗎?如果沒有,這是可以做到的嗎?

一如既往,您的幫助是非常感謝。

回答

0

看看parallel_tests寶石。它允許您並行運行您的功能。雖然典型的用例是運行所有功能,但您可以並行運行特定的rake任務。有關更多詳情,請參閱文檔。

+0

感謝。我現在使用它,但沒有使用它與耙子任務。 –

1

Rake提供多任務處理。你既可以

  1. 在Rake文件更改taskmultitask:在命令行

    multitask :all => [:basket, :fruits, :veggies]

  2. 使用-m選項:

    rake -m features:all

+0

它按順序運行任務而不是並行運行 –

+0

即使沒有明確使用「多任務」(我只是定義了一個「全部」任務),它也適用於我。 –