【发布时间】:2015-09-21 16:10:46
【问题描述】:
我正在使用 RSpec 和 Factory Girl 来测试我的应用程序。我正在尝试做的是以下内容:我有一个接受嵌套属性的对象,并且该嵌套属性无效。我想测试 POST 是否有效:
let(:valid_attributes) { build(:user).attributes }
it "creates a new User" do
expect {
post :create, {user: valid_attributes}, valid_session
}.to change(User, :count).by(1)
end
那是工厂:
FactoryGirl.define do
factory :user do |x|
name "Homer"
after(:build) do
build :address
end
end
end
问题是build(:user).attributes 返回的哈希没有address,尽管如果我检查build(:user) 创建的对象,address 是正确构建的。
有没有什么方法可以轻松生成带有嵌套属性的哈希?
【问题讨论】:
标签: ruby-on-rails ruby rspec factory-bot nested-attributes