Rails3:单元测试可以使用ruby,但不能使用rake
我在Rails 3应用程序中有以下类:Rails3:单元测试可以使用ruby,但不能使用rake,ruby,ruby-on-rails-3,unit-testing,testing,rake,Ruby,Ruby On Rails 3,Unit Testing,Testing,Rake,我在Rails 3应用程序中有以下类: class AssetAttribute < ActiveRecord::Base ... def self.ANNOTATION self.find_by_table_name('annotations') end ... end 当我使用Ruby命令行运行测试时,一切正常: ruby -Itest test/unit/annotation_test.rb 但当我用Rake尝试时: rake test:units 我突
class AssetAttribute < ActiveRecord::Base
...
def self.ANNOTATION
self.find_by_table_name('annotations')
end
...
end
当我使用Ruby命令行运行测试时,一切正常:
ruby -Itest test/unit/annotation_test.rb
但当我用Rake尝试时:
rake test:units
我突然得到了nil:NilClass的NoMethodError:undefined方法'xxx',其中“xxx”是AssetAttribute
上的任何方法
为什么这些测试的运行方式不同?我正在运行Rails 3.2.13和Ruby 1.9.3
编辑:修复了AssetAttribute
declaration这个类在您的文件夹结构中的位置?不确定您指的是哪个类,所以这里有一堆:app/models/asset\u attribute.rb
,app/models/annotation.rb
,test/unit/annotation\u test.rb
,app/validators/correct\u attribute\u type\u validator.rb
.AssetAttribute,一个是零编辑:哦,好的,太好了。那么,app/models
就是类资产属性
,对吗?
rake test:units