2010-10-06 55 views
0

我正在嘗試爲我的項目設置完整性。可悲的是,我的bash-fu很差,所以我需要一些幫助。 在構建腳本中輸入rake spec。在誠信返回狀態0和輸出完整性問題持續應用程序應用程序

(在/ home /導軌/完整性/構建/建造/ 66)

,但我知道,我應該得到運行後,狀態1和輸出(手動將其從控制檯):

軌@完整性:〜/完整性/構建/建造/ 66 $ 耙規範
(在/ home /導軌/完整性/構建/建造/ 66) 耙中止!沒有這樣的文件或目錄 - /home/rails/integrity/builds/builds/66/config/database.yml

我(用 --trace正在運行的任務查看完整的跟蹤)不要創建database.yml,因爲我想要Integrity顯示有關它的消息?

對我來說,它看起來像丟了菸斗。 腳本在這裏運行: http://github.com/integrity/integrity/blob/v22/lib/integrity/builder.rb#L49 你能說出爲什麼rake spec完整性返回0嗎?

回答

0

您需要先設置database.yml,然後才能運行測試。您可以編寫一個自定義構建腳本來設置它,然後運行測試。例如:

namespace :ci do 
    task :update_submodules do 
    system("git submodule update -i") 
    end 

    task :copy_yml do 
    system("cp /my/custom/config/path/database.yml.ci #{Rails.root}/config/database.yml") 
    end 

    desc "Prepare for CI and run entire test suite" 
    task :build => [:environment, 'ci:update_submodules', 'ci:copy_yml', 'spec', 'cucumber:ok'] do 
    end 

end 

然後把rai ci:build as integrity build script。基本上這個腳本將在啓動測試之前複製一個database.yml模板。