我想测试一下,如果缺少一个属性,我的模型将不会创建实例,所以我试过这个:
test "should not save without a url" do
attrs = FactoryGirl.attributes_for(:page).delete(:url)
page = Page.new(attrs)
assert !page.save
end
FactoryGirl.define do
factory :page do
url 'http://testpage.com'
background 'rgb(255,255,255)'
end
end
但是,我得到NoMethodError:未定义的方法stringify_keys’为“http://testpage.com”:字符串
我在这里错过了什么?或者这样做的正确方法是什么?
最佳答案 实际上,您要查看方法
except.
delete方法将返回删除键的值,而不是修改后的哈希值.
所以,你想要这个:
attrs = FactoryGirl.attributes_for(:page).except(:url)