问题标签 [rack-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
536 浏览

ruby - Padrino/Sinatra Rack-Test POST 未填写参数

我正在尝试使用 Rack-Test 向我的 padrino 应用程序发出发布请求:

我的路线如下所示:

rack_input是我为解析原始机架输入而编写的一种方法。当我运行测试时,我得到这个输出:

但是,当我在命令行上使用 curl 时,它可以正常工作:

我究竟做错了什么?

0 投票
1 回答
190 浏览

ruby-on-rails - 测试什么以及如何测试它?

我想用黄瓜、水豚和 rack_test 编写测试来破坏轨道上的红宝石上的物体。

我认为我应该写一个像这样的场景:

我不想通过单击索引页面或显示/编辑页面上的链接来测试它,因为我认为我应该测试与纯粹删除操作不同的东西。

另外,点击链接表示界面没问题,但是如果有人发送请求删除他不能删除的对象并且界面没有显示链接,会发生什么?

鉴于此,我需要在第一步中发送删除请求,然后检查对该请求的响应。

我在尝试这样做时遇到了麻烦,因为当我实施第一步时,delete url当我尝试时,page.should have_contain(text)我得到了错误No response yet. Request a page first. (Rack::Test::Error)

你怎么看待这件事?

0 投票
1 回答
520 浏览

ruby-on-rails - 如何发送删除请求并检查 Capybara::Session 而不是 Rack::Response?

我正在用黄瓜、水豚和机架测试进行测试。

我想发送一个删除请求,然后检查响应。

我发现该方法visit(url)将响应存储在page一个Capybara::Session.

现在我正在使用该方法发送删除请求,delete url然后follow_redirect!. 这里的问题是这些方法将响应存储在对象last_response中,即Rack::MockResponse.

我的 web 步骤是使用该page对象构建的,但我找不到发送删除请求并将响应存储在page.

有什么帮助吗?

0 投票
2 回答
444 浏览

ruby - 如何重构 API 的 RSpec 测试

我有一系列基于 Sinatra 的 API 的 RSpec 测试,并希望重构它们以使它们更简单并减少重复。

这是一个路由测试的示例:

每个测试都将使用相同的基本 URL,具有相同的会话数据,唯一的区别是参数以及响应应该是什么。每条路由至少有 4 个测试(GET、POST、PUT、DELETE),通常更多。

有没有办法让这些测试更易于管理?

0 投票
1 回答
387 浏览

capybara - Capybara RackTest 无法单击或找到按钮,但 Selenium 可以

我在使用 Capybara (2.0.0) 进行 Cucumber 测试时遇到问题。

page.html这是在 RackTest 中运行时生成的(有效)html :

Capybara 方法click_on("Show Stuff")返回错误:

使用 Selenium 驱动程序时它工作正常,有趣的是,它有一个不同的源page.html

谢谢你的帮助!我需要它!

0 投票
8 回答
9165 浏览

ruby - 如何在 Ruby 中遍历内存中的 zip 文件

我正在编写一个单元测试,其中一个正在返回一个 zip 文件,我想检查这个 zip 文件的内容,从中获取一些值,并将这些值传递给下一个测试。

我正在使用 Rack Test,所以我知道我的 zip 文件的内容在last_response.body. 我查看了RubyZip的文档,但似乎它总是需要一个文件。由于我正在运行单元测试,因此如果可能的话,我更喜欢在内存中完成所有操作,以免使用测试 zip 文件污染任何文件夹。

0 投票
1 回答
2151 浏览

ruby-on-rails - 机架测试失败:JSON 请求还没有响应

我正在尝试按照Yehuda Katz 的书Rails 3 in Action第 13 章中提供的Ticketee示例为我的 Ruby 项目创建 JSON API 。这是第 353 页上描述的适用于我的环境的 RSpec 测试。

当我运行测试时,我得到以下输出......

这是我使用的辅助模块...

注意:这个问题类似于使用 Rspec 和 Rack::Test 测试 REST-API 响应

0 投票
1 回答
3058 浏览

ruby-on-rails - 如何检查响应是否为文件?

如何测试 Rails 中控制器操作的响应是否为文件?(机架测试或水豚)

我应该使用单元测试来做到这一点吗?

场景很简单:我必须测试从数据库中导出的用户是否与操作生成的 .csv 中包含的用户相同。

0 投票
1 回答
1325 浏览

ruby - 在 sinatra 和 ruby​​ 中测试机架超时

这是我认为很简单的事情,但我在测试 rack-timeout gem 时遇到了问题。我有一个带有端点的 sinatra 基类,它执行一些逻辑。

有关 rack-timeout gem 的更多信息在这里。我正在尝试设置一个测试,我可以发送一个我知道需要几秒钟才能失败的请求。

这是到目前为止的测试

有很多方法可以做到这一点,但我不确定它们将如何实施

  1. 将“/dosomething”方法作为测试的一部分覆盖到 {sleep 3}
  2. 执行与上述相同的操作,但使用 stubbing 或 mocking 库
  3. 不要在测试中使用 get "/dosomething",而是创建一个 net::http 响应来保持请求打开。

对此的任何想法将不胜感激。

0 投票
3 回答
2356 浏览

ruby-on-rails-3 - ruby on rails 3 - 未定义的方法“has_content?” 对于“主页”:字符串

我是 ruby​​ 新手,我刚刚开始我的第一个项目。当我试图通过 rspec 运行我的第一个测试时,我失败了。

这是我的宝石文件:

这是我的 home_pages_spec.rb

当我跑步时

我明白了

请帮帮我,我搜索了一下,发现了类似的问题,但不是很清楚.. 再加上它们有点旧,现在不是以前的错误了。

另外,如果您能向我解释为什么我不能使用访问命令(对于 RSpec::Core::ExampleGroup::Nested_1...,也是未定义的方法 `visit')并且必须使用 get 命令,那就太好了