首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Padrino控制台测试Padrino控制器

如何从Padrino控制台测试Padrino控制器
EN

Stack Overflow用户
提问于 2013-12-02 18:08:46
回答 1查看 961关注 0票数 4

我知道在Rails里我可以做一些类似的事情

代码语言:javascript
复制
app.get 'url'
app.response

但是这在Padrino中不起作用,任何常规的controller调用都不起作用,因为Padrino使用不同于Rails的控制器方法。

我要做的是从Ruby控制台测试我的控制器方法。例如,我想存储当前的对象,调用相同的方法100次,然后比较遗留的对象。我在找一个记忆泄漏。

因此,能够从Padrino console调用该方法将是很棒的。

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

EN

回答 1

Stack Overflow用户

发布于 2014-03-31 05:01:43

应用程序仅是DSL的一部分,用于定义新路由,而不是检索它们的内容。您试图实现的通常是Rack::Test库的一部分。

请看一下Sinatra文档:

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

特别是比较了有关Rack::测试与Mixin和不Mixin的章节。这应该会让你明白抓取的来源。

在您的情况下,如果您想要从控制台进行测试,那么应该是这样的:

代码语言:javascript
复制
require 'rack/test'
browser = Rack::Test::Session.new(Rack::MockSession.new(Padrino::Application))
browser.get '/'

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

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

代码语言:javascript
复制
browser.get('/').body
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20334938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档