gpt4 book ai didi

ruby-on-rails - 针对批量分配的测试

转载 作者:行者123 更新时间:2023-12-04 16:30:07 25 4
gpt4 key购买 nike

也许这不是需要测试的东西,但我正在学习,所以我认为最大程度地测试并没有错。

我有几个测试,除了一个,都产生了预期的结果。我找到了一种解决方法,但我想知道正确的方法是什么。

当我在 rails 控制台中测试保存时,它不会从 params 散列中保存 admin 字段,这正是我所期望的。当我用工厂构建然后保存它时,验证相应地通过/失败。当我测试针对批量分配的保护时,测试失败(因为它在我期望的时候设置了管理字段)

有什么想法、建议或顾虑吗?

谢谢

模型:

class User ...
#id, name, email, admin(int)
attr_accesible :name, email
...
end

用户规范
it "should not have an admin after a mass save" do
user = Factory.build(:user)
user.save
user.admin.should be_nil #its not nil, its 0
end

工厂
Factory.define :user do |f|
f.name "rec_acro"
f.email "rec@acro.com"
f.admin 0
end

最佳答案

您可以使用 Shoulda在 rspec 之上以获得简洁的质量分配规范:

describe User do
it { should_not allow_mass_assignment_of(:admin) }
end

关于ruby-on-rails - 针对批量分配的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5892169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com