2010-09-02 95 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