gpt4 book ai didi

ruby-on-rails - rails 4 : How to test Controller Action

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

我如何实际测试这个 Controller Action,我在 PurchasesController 中写道:

protect_from_forgery except: [:hook]
def hook
params.permit! # Permit all Paypal input params
status = params[:payment_status]
if status == "Completed"
@purchase = Purchase.find(params[:invoice])
@purchase.update_attributes(status: status, transaction_id: params[:txn_id], purchased_at: Time.now)
@purchase.save!
@user = @tool.user
@user.earned_money += @tool.price
@user.save!
end
render nothing: true
end

最好使用我的 Rails 控制台?

路线:

post "/purchases/:id" => "purchases#show"
post "/hook" => "purchases#hook"

最佳答案

您不通过 Rails 控制台测试 Controller 。

Rails 中的 Controller 响应 HTTP 请求 - 它们由路由组件在匹配传入请求时实例化。因此,您可以通过发送 HTTP 请求并检查响应来测试 Controller 。

您可以使用命令行工具手动测试 Controller cURL或基于浏览器的 Postman 发送请求*。您可以使用 Rails 控制台来检查副作用,例如数据库中的更改。

但是,您应该考虑使用自动化测试工具,例如 MinitestRSpec因为手动测试您的应用程序是一种有缺陷的方法。

关于ruby-on-rails - rails 4 : How to test Controller Action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39686814/

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