2010-09-02 69 views
2

我有一系列rspecs的rake任務如下...rake任務上的寶石

require 'spec/rake/spectask' 
require 'joliscrapper' 

namespace :spec do 

    desc "Web scraping files" 
    task :scrapers => :environment do 
    Spec::Rake::SpecTask.new do |t| 
     t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""] 
     t.spec_files = FileList['spec/scrapers/*_spec.rb'] 
     puts t 
    end 
    end 

end 

我的問題是如何走出放像往常一樣從一個RSpec ......現在什麼也不輸出。 ..我想找到任何錯誤,並生成一個電子郵件,如果發生。

加入:

t.warning = true 
    t.verbose = true 

簡化版,似乎有希望的效果無論是。書面將創建規範任務時rake spec:scrapers被稱爲和完成,這是不是你想要什麼,我認爲

http://rspec.rubyforge.org/rspec/1.1.12/classes/Spec/Rake/SpecTask.html

+0

如果我帶走 「的任務:刮刀=>:環境做」,它輸出的錯誤。寶石加載不正確,所以他們都失敗了,但我得到了輸出。目前我沒有輸出,除了:# holden 2010-09-02 18:28:25

回答

1

您的代碼。

嘗試:

namespace :spec do 

    desc "Web scraping files" 
    Spec::Rake::SpecTask.new :scrapers do |t| #creates the spec task with the name :scrapers 
    t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""] 
    t.spec_files = FileList['spec/scrapers/*_spec.rb'] 
    end 
    task :scrapers => :environment #adds environment as a prereq 
end 
+0

好的,這似乎工作。但我得到一個錯誤,因爲我的寶石不包括在內。我試着爲我的寶石添加require'somegem',但它似乎不起作用? – holden 2010-09-03 08:29:41

+0

對於你的寶石,除非你已經將它安裝在你的機器上,'require'foo''將不起作用。您需要將項目的lib添加到加載路徑,或者更明確地要求文件,如下所示:'require File.expand_path(__ FILE __)+'/ ../lib/joliscrapper'' – BaroqueBobcat 2010-09-07 21:34:06