从Rails 3.2转换为4.1和模型测试

时间:2014-04-14 17:56:35

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

我正在将应用程序从Rails 3.2迁移到Rails 4.1。我有一个模型用户,写得像

class User < ActiveRecord::Base
  #some code
  def to_hash
  end

  def other_method
  end
end

它的规格如expect(User.last.to_hash).to ...

然后我正在运行规格,它盯着失败

/home/xxx/.rvm/gems/ruby-2.0.0-p451/gems/activemodel-4.1.0/lib/active_model/attribute_methods.rb:435:in `method_missing': undefined method `to_hash' for #<User:0x0000000c06bc68> (NoMethodError)

如果我将测试其他方法,它也会失败(但属性正常工作)。

rails c开始,一切正常。在Rails 3.2上它也运行正常。什么可能是错的?

1 个答案:

答案 0 :(得分:0)

对不起伙计们,我发现了一个错误。我在spec_helper中有代码,如

class User < ActiveRecord::Base
  SOME_DATE = 1.day
end

评论之后一切都好。我不知道为什么它会停止我的项目工作。

它正在3.2上工作但没有工作或4.1 我需要它来存根一个常量。