我在Rails 3应用程序中有以下类:
class AssetAttribute < ActiveRecord::Base
...
def self.ANNOTATION
self.find_by_table_name('annotations')
end
...
end
在另一个课程中,我在validates
调用中引用此方法:
validates :attribute_type_id, :attr_correct => {attr: AssetAttribute.ANNOTATION}
当我使用Ruby命令行运行测试时,一切正常:
ruby -Itest test/unit/annotation_test.rb
但是当我用Rake尝试时:
rake test:units
我突然得到NoMethodError: undefined method 'xxx' for nil:NilClass
,其中“xxx”是AssetAttribute
上的任何方法。
为什么这些测试的运行方式不同?我正在运行Rails 3.2.13和Ruby 1.9.3
修改:已修复AssetAttribute
声明