2010-10-06 51 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模板。