【发布时间】:2013-12-07 02:09:10
【问题描述】:
您如何测试具有所需的 belongs_to 关联的控制器创建操作?
如果我删除 validates :address, presence: true 它可以工作,但这个验证是必要的。
models/accreditor.rb
class Accreditor < ActiveRecord::Base
belongs_to :address, dependent: :destroy
validates :address, presence: true
spec/controllers/accreditors_controller_spec.rb
describe AccreditorsController do
describe 'POST #create' do
it 'saves the new accreditor in the database' do
address = FactoryGirl.create(:address)
accreditor = FactoryGirl.build(:accreditor, address: address)
expect{
post :create, accreditor: accreditor.attributes
}.to change(Accreditor, :count).by(1)
end
end
此外,accreditor 和 address factory 适用于所有其他控制器操作。
【问题讨论】:
标签: ruby-on-rails factory-bot rspec2