草庐IT

ngx_http_stub_status_module

全部标签

ruby - 如何在 ruby​​ net/http 中实现 cookie 支持?

我想为使用net/http浏览网页的ruby​​类添加cookie支持。Cookie必须存储在文件中才能在脚本结束后继续存在。当然我可以阅读规范并编写某种处理程序,使用某种cookie.txt格式等等,但这似乎意味着重新发明轮子。有没有更好的方法来完成这个任务?也许是某种cooiejar类来处理cookie? 最佳答案 如果您的服务器返回并需要多个cookie,则接受的答案将不起作用。例如,如果服务器返回一组FedAuth[n]cookie,就会发生这种情况。如果这对您有影响,您可能需要考虑使用以下内容:http=Net::HTTP

ruby module_function 与包含模块

在ruby​​中,我知道可以使用module_function在模块中混合使用模块函数,如此处所示。我知道这是多么有用,因此您可以在不混入模块的情况下使用该函数。moduleMyModuledefdo_somethingputs"helloworld"endmodule_function:do_somethingend我的问题是为什么您可能希望以这两种方式定义函数。为什么不拥有defMyModule.do_something或defdo_something在什么样的情况下,将函数混入或用作静态方法会有用? 最佳答案 想到Enumer

ruby-on-rails - rails : How do I write tests for a ruby module?

我想知道如何为混合到几个类中的模块编写单元测试,但不太知道如何去做:我是通过在其中一个测试文件中为包含它们的类编写测试来测试实例方法(似乎不正确),还是您能以某种方式将包含方法的测试保存在特定的单独文件中到模块?同样的问题也适用于类方法。我应该像普通Rails模型那样为模块中的每个类创建一个单独的测试文件,还是它们存在于通用模块测试文件中(如果存在)? 最佳答案 恕我直言,您应该进行涵盖模块所有用途的功能测试覆盖率,然后在单元测试中对其进行隔离测试:setupdo@object=Object.new@object.extend(Gr

ruby-on-rails - Capistrano & Bash : ignore command exit status

我正在使用Capistrano运行远程任务。我的任务是这样的:task:my_taskdorun"my_command"end我的问题是,如果my_command的退出状态为!=0,那么Capistrano认为它失败并退出。当退出状态不为0时,如何让capistrano在退出时继续运行?我已将my_command更改为my_command;echo并且它可以工作,但感觉像是hack。 最佳答案 最简单的方法是将true附加到命令的末尾。task:my_taskdorun"my_command"end成为task:my_taskdor

ruby-on-rails - 如何在 Rails Controller 中返回 HTTP 204

这看起来很基础,但我是Ruby/Rails初学者。我只需要在Controller中返回HTTP204。会respond_todo|format|format.htmlend返回204? 最佳答案 head:no_content使用Rails3.2.x、4.x测试。它会导致Controller方法以204NoContentHTTP状态代码进行响应。在名为foobar的Controller方法中使用它的示例:deffoobarhead:no_contentend 关于ruby-on-rail

ruby-on-rails - 如何在请求规范中 stub ApplicationController 方法

我需要在Rspec/capybara请求规范中stubcurrent_user方法的响应。该方法在ApplicationController中定义并使用helper_method。该方法应该只返回一个用户ID。在测试中,我希望此方法每次都返回相同的用户ID。或者,我可以通过在规范中设置session[:user_id]来解决我的问题(这是current_user返回的内容)...但这似乎不是要么工作。这两种可能吗?编辑:这是我得到的(它不工作。它只是运行正常的current_user方法)。require'spec_helper'describe"Login"dobefore(:eac

ruby - 我如何在 MiniTest 中 stub ?

在我的测试中,我想为一个类的任何实例stub一个jar装响应。它可能看起来像这样:Book.stubs(:title).any_instance().returns("WarandPeace")然后每当我调用@book.title时,它都会返回“war与和平”。有没有办法在MiniTest中做到这一点?如果是,你能给我一个示例代码片段吗?或者我需要像mocha这样的东西吗?MiniTest确实支持Mocks,但Mocks对我的需要来说太过分了。 最佳答案 #Createamockobjectbook=MiniTest::Mock.n

ruby - 使用 Net::HTTP.get 获取 https url

我正在尝试将Net::HTTP.get()用于httpsURL:@data=Net::HTTP.get(uri,Net::HTTP.https_default_port())但是,当我尝试打印结果时得到以下结果:can'tconvertURI::HTTPSintoString这是怎么回事?我正在使用Ruby1.8.7(OSX) 最佳答案 原答案:uri=URI.parse("https://example.com/some/path")http=Net::HTTP.new(uri.host,uri.port)http.use_ssl

ruby-on-rails - rspec 3 - stub 类方法

我正在从rspec2.99升级到rspec3.0.3并将实例方法转换为使用allow_any_instance_of,但还没有弄清楚如何stub类方法。我有这样的代码:moduleMyModclassUtilsdefself.find_x(myarg)#Stuffendendend我的rspec2测试是这样做的:MyMod::Utils.stub(:find_x).and_return({something:'testing'})Rspec3的做法是什么? 最佳答案 你应该这样做allow(MyMod::Utils).torecei

ruby-on-rails - 在 Rails 中测试时如何设置 HTTP_REFERER?

我正在尝试测试Controller,但出现此错误。我了解错误,但不知道如何解决。test:onCREATEto:userwithcompletelyinvalidemailshouldrespondwithredirect(UsersControllerTest):ActionController::RedirectBackError:NoHTTP_REFERERwassetintherequesttothisaction,soredirect_to:backcouldnotbecalledsuccessfully.Ifthisisatest,makesuretospecifyrequ