2015-06-19 150 views
1

我有一個項目與四個模塊。除了一個是rails應用程序之外,所有模塊都是基於java的。建築師與導軌應用程序

爲了使構建過程自動化,我使用了構建器。我想使用「buildr test」來運行rails測試(與我執行java測試的方式相同),但我無法弄清楚如何執行rails項目中可用的rake任務。

任何想法如何做到這一點?

回答

1

在對軌道模塊項目的定義,你可以這樣做:

test do 
    exec "bin/rails test" 
end 
2

有幾個方法可以做到這一點,這取決於你想如何「整合」來獲得。通常,我們的導軌應用程序也會通過ci_reporter報告測試結果,因此可以由jenkins提取。我們的一個項目,由段使用代碼itest.rb

workspace_dir = File.expand_path(File.dirname(__FILE__) + '/..') 

require File.expand_path("#{workspace_dir}/lib/itest.rb") 

ITest::Config.reports_dir = "#{workspace_dir}/target/reports" 
ITest::Config.scripts_dir = "#{workspace_dir}/target" 
ITest::TestTask.new('models', FileList["#{workspace_dir}/test/unit/**/*_test.rb"]) 
ITest::TestTask.new('controllers', FileList["#{workspace_dir}/test/functional/**/*_test.rb"]) 

def add_tests_task(project, task_name) 
    project.test do 
    begin 
     task(task_name).invoke 
    rescue 
     raise unless Buildr.options.test == :all 
    end 
    end 
end 

然後我們的構建文件,我們添加類似

project 'myproject' do 
    ... 
    add_tests_task(project, 'test:models') 
    add_tests_task(project, 'test:controllers') 
end 

希望幫助!