RSpec - 测试嵌套关联也保存在创建操作上

时间:2014-12-26 05:24:03

标签: ruby-on-rails rspec associations factory-bot nested-attributes

let(:user_attributes) { FactoryGirl.attributes_for(:user) }
let(:account_attributes) { FactoryGirl.attributes_for(:account, owner_attributes: user_attributes) }

describe "success" do
  it 'saves the account and user to the database' do
    results = expect { post :create, account: account_attributes }
    results.to change { Account.count }.by( 1 )
    results.to change { User.count }.by( 1 )
  end
end

Account.count通过,但User.count失败。在浏览器中工作得很好。无法在任何地方找到关于测试关联/嵌套对象也保存在创建操作上的任何文档。

1 个答案:

答案 0 :(得分:0)

尝试在控制器中放置一个调试语句,看看运行测试时发生了什么。如果你使用ruby> 1.9,使用gem byebug。将byebug放在AccountsController.create的第1行,然后看看发生了什么。