gpt4 book ai didi

ruby - 如何从 Padrino 控制台测试 Padrino Controller

转载 作者:数据小太阳 更新时间:2023-10-29 08:04:28 25 4
gpt4 key购买 nike

我知道在 Rails 中我可以做类似的事情

app.get 'url'
app.response

但这在 Padrino 中不起作用,任何常规 controller 调用也不起作用,因为 Padrino 使用与 Rails 不同的 Controller 方法。

我想做的是从 Ruby Padrino MRI 控制台测试我的 Controller 方法。例如,我想存储存在的对象,调用同一个方法 100 次,然后比较留下的对象。我正在尝试查找内存泄漏。

所以如果能够从 Padrino console 调用该方法会很棒。

我在官方文档或其他地方找不到任何告诉我如何做的东西。

最佳答案

Padrino::Application 中的 get 只是定义新路由的 DSL 的一部分,而不是检索它们的内容。您要实现的目标通常是 Rack::Test 库的一部分。

查看 Sinatra 文档:

http://www.sinatrarb.com/testing.html

专门对比一下Rack::Test with Mixin VS without Mixin的部分。这应该让您了解获取 get 的来源。

在你的情况下,如果你想从控制台测试,那么它应该是这样的部分:

require 'rack/test'
browser = Rack::Test::Session.new(Rack::MockSession.new(Padrino::Application))
browser.get '/'

现在,在您看到 Padrino::Application 的地方,您必须键入您自己的继承自该类的应用程序主类,而不是抽象类本身

请注意,结果将是一个 Rack::MockSession 对象,所以如果您只想查看 html,请执行以下操作:

browser.get('/').body

关于ruby - 如何从 Padrino 控制台测试 Padrino Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20334938/

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