gpt4 book ai didi

ruby-on-rails - 如何在 Rails 测试中指定 POST 参数?

转载 作者:数据小太阳 更新时间:2023-10-29 06:29:31 24 4
gpt4 key购买 nike

使用 Test::Unit 和 Shoulda。正在尝试测试 Users.create。我的理解是 Rails 表单为这样的对象发送参数:

user[email]

哪个在你的操作中变成哈希,对吧?

params[:user][:email]

好的,所以在我的测试中我试过了......

setup { post :create, :post => { 'user[email]' => 'invalid@abc' } }

setup { post :create, :post => { :user => { :email => 'abc@abcd' } } }

在这两种情况下,在我的操作中,params[:user] 都是 nil。

最佳答案

post :create, :user => { :email => 'foo@bar.com' }

get、post、put、delete所有测试方法的一般形式如下:

def post(action_name, params_hash = {}, session_hash = {})

并且在测试中,params 哈希直接发送到您的 Controller 操作的 params 中,没有任何类型的转换。即使进行集成测试,您也确实不需要测试此字符串到参数的转换,因为 Rails 框架测试很好地涵盖了它。此外,所有需要参数的测试方法都以这种方式接受哈希,而不会提示让事情变得简单。

关于ruby-on-rails - 如何在 Rails 测试中指定 POST 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/529653/

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