在命名空间模型上使用带有Rspec的factory_girl_rails
||
我有一个网络服务,可以向几个不同的客户提供广告。广告的结构在客户端之间有所不同,因此,我通过客户端名称在模型和控制器的名称空间中使用它们来区分广告。从高层次看,它看起来像这样:
\'app/models/client1/ad.rb\'
class Client1::Ad < ActiveRecord::Base
attr_accessible :title, :description
end
\'app/models/client2/ad.rb\'
class Client2::Ad < ActiveRecord::Base
attr_accessible :title, :description, :source
end
实际上,这些模型更复杂并且具有关联性,但这不是重点。
我正在使用rspec-rails 2.4.0和factory_girl_rails 1.0.1编写一些单元测试,并且我所有的工厂都工作得很好。但是,我无法为命名空间模型定义工厂。我已经尝试过类似的方法:
Factory.define :client1_ad, :class => Client1::Ad do |ad|
ad.title \"software tester\"
ad.description \"Immediate opening\"
end
和
Factory.define :client2_ad, :class => Client2::Ad do |ad|
ad.title \"software tester\"
ad.description \"Immediate opening\"
ad.source \"feed\"
end
它没有做这份工作。我环顾四周,但是看到的每个示例都使用了非命名空间模型。有人有想法么?任何输入,不胜感激。
没有找到相关结果
已邀请:
5 个回复
梦砍废么
* db / migrate / 20110614204536_foo.rb *
spec / factories.rb
* spec / models / foo_spec.rb *
运行测试:
希望能帮助到你。
闲窍
逝媳蘑贩茄
(4.5.0),语法如下:
请注意,
可以是您想要的任何名称,因为我们已经强制标识其类名。
僻朵庙惩竣
,我应该像这样定义我的工厂:
而不是:
也许这点信息可能有一天会有所帮助。我的问题的具体内容是,我试图使用
来按照
规范从工厂构建实例,这对于未命名空间的类很好,但不适用于模块内部的类。原因是在内部查找工厂时,FactoryGirl将使用
的
帮助程序来标准化工厂名称。
缔恃钨