ruby-on-rails – Heroku无法检测到rake任务(LoadError:无法加载此类文件 – rspec / core / rake_task)

我正在使用travisCI部署到heroku,我收到此错误.它刚刚开始发生.

我有基本的rails Rakefile,我有一个看起来像这样的文件,否则travis无法检测到rake任务:

# lib\tasks\spec.rake
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new
task :default => :spec

为什么这个错误会专门针对heroku显示

编辑 – 我给出了(更好)答案的类似版本:

begin
  require 'rspec/core/rake_task'
  desc "Run all examples"
  RSpec::Core::RakeTask.new(:spec) do |t|
    t.rspec_opts = %w[--color]
    t.pattern = 'spec/*_spec.rb'
  end
 rescue LoadError
end

解决方法

如果rspec不在生产组中(通常不是),那么在像heroku这样的生产环境中运行时,您发布的代码将会失败.

在rspec docs中,他们建议这样做:

begin
  require 'rspec/core/rake_task'
  RSpec::Core::RakeTask.new(:spec)
rescue LoadError
end

所以没有rspec不会阻止你的rakefile加载.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...