小编Sim*_*eev的帖子

在命名空间模型上使用带有Rspec的factory_girl_rails

我有一个网络服务,为几个不同的客户提供广告.广告的结构因客户端而异,因此,我通过客户名称为我的模型和控制器使用名称空间来区分广告.从高层看,它看起来像这样:

'app/models/client1/ad.rb'

class Client1::Ad < ActiveRecord::Base
  attr_accessible :title, :description
end
Run Code Online (Sandbox Code Playgroud)

'app/models/client2/ad.rb'

class Client2::Ad < ActiveRecord::Base
  attr_accessible :title, :description, :source
end
Run Code Online (Sandbox Code Playgroud)

实际上,这些模型更复杂并且具有关联性,但这不是重点.
我正在使用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  
Run Code Online (Sandbox Code Playgroud)

Factory.define :client2_ad, :class => Client2::Ad do |ad|
  ad.title       "software tester"  
  ad.description "Immediate opening"
  ad.source      "feed"
end
Run Code Online (Sandbox Code Playgroud)

它没有完成这项工作.我环顾四周,但我看到的每个例子都使用非命名空间的模型.有人有主意吗?任何输入都非常感谢.

rspec namespaces ruby-on-rails-3 factory-bot

35
推荐指数
3
解决办法
1万
查看次数

标签 统计

factory-bot ×1

namespaces ×1

rspec ×1

ruby-on-rails-3 ×1