gpt4 book ai didi

ruby-on-rails - 是否应该对 Rails Controller 进行验证测试?

转载 作者:行者123 更新时间:2023-11-28 21:21:02 26 4
gpt4 key购买 nike

我想知道应该在 Ruby on Rails 应用程序中测试 Controller 的哪些部分。任何帮助将不胜感激。

当我创建需要验证的新模型时,例如 validates :name, presence: true,我总是为这些模型编写测试。例如(如果模型名称是 User):

test "name should be present" do
assert_not User.new({ name: nil }).valid?
end

但是,我还有一个“与”模型(例如用户)“配合”的 Controller 。即使我已经在测试模型,我是否还应该测试 Controller 是否验证其参数?

例子:

test "invalid user should not be created" do
assert_no_difference "User.count" do
post random_models_path, store: { name: " " }
end
end

我肯定还会测试是否创建了一个有效商店,但是我是否应该检查一个无效商店没有创建?

谢谢

编辑

仅针对一种可能的无效情况测试 Controller 是否是个好主意,因为如果该情况成功,那么我就知道模型验证可能正在运行?

最佳答案

Would it be a good idea to just test the controller for only one of the possible invalid case, because if that one succeeds then I know that the model validations are probably working?

这是正确的想法,通常也是我所做的。无需测试 Controller 中所有可能的验证状态组合,但最好测试两个一般条件:

1) 对于一个有效的模型,我们是否保存它并重定向到我们应该去的地方? (或者我们是否做出正确的回应?)

2) 对于无效模型(由于任何可能的无效原因),我们是否以用户可以更正错误的方式重新呈现表单。

关于ruby-on-rails - 是否应该对 Rails Controller 进行验证测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51774128/

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