Ruby on rails 3 如何为ActiveRecord多态关联编写Rspec测试

Ruby on rails 3 如何为ActiveRecord多态关联编写Rspec测试,ruby-on-rails-3,activerecord,rspec,polymorphic-associations,shoulda,Ruby On Rails 3,Activerecord,Rspec,Polymorphic Associations,Shoulda,有没有人找到为ActiveRecord多态关联编写rspec示例的方法 我习惯于使用Thoughtbot的shoulda匹配,但我认为多态性超出了它的范围 为了清楚起见,我的模型会有类似的模式: class Person < ActiveRecord::Base attr_accessible :name has_one :address, as: :location_data_source accepts_nested_attributes_for :address en

有没有人找到为ActiveRecord多态关联编写rspec示例的方法

我习惯于使用Thoughtbot的shoulda匹配,但我认为多态性超出了它的范围

为了清楚起见,我的模型会有类似的模式:

class Person < ActiveRecord::Base
  attr_accessible :name

  has_one :address, as: :location_data_source

  accepts_nested_attributes_for :address
end

class Company < ActiveRecord::Base
  attr_accessible :name

  has_one :address, as: :location_data_source

  accepts_nested_attributes_for :address
end

class Address < ActiveRecord::Base
  attr_accessible :street, :city

  belongs_to :location_data_source, polymorphic: true
end
class-Person
您能更具体地回答您的问题吗?换句话说,由于使用多态关联,您觉得您无法测试应用程序行为的哪些方面?你能举一个你试图创建的RSpec测试的例子吗?嗨,彼得,我只是想确保关联以适当的方式进行(并不是说我想测试活动记录本身,我只是想确保我已经建立了关联,而不是进一步发现模型不正确,例如在视图/水豚级别)。我通常使用Thoughtbot的shoulda匹配来实现这一点,它们对大多数关联都非常有效,例如has_one或behing to;例如'should behing_to(:address)'就可以了。您是否在测试数据库上运行了迁移?请参阅和