草庐IT

rack-test

全部标签

ruby - 为什么 Rack 响应主体是数组而不是字符串?

他们文档中的经典helloworld示例,classHelloWorlddefcall(env)return[200,{},["Helloworld!"]]endend我的问题是为什么第三个值是[Helloworld!],而不是“Helloworld”?来自他们的文档,TheBodymustrespondtoeachandmustonlyyieldStringvalues.TheBodyitselfshouldnotbeaninstanceofString,asthiswillbreakinRuby1.9.为什么body需要对每个使用react?在什么情况下这很重要?

ruby - 如何在 Rack 应用程序中设置/获取 session 变量?

useRack::Session::Pool...session[:msg]="HelloRack"编辑:session这个词似乎没有解决。我在我的config.ru中包含了session池中间件,并尝试在ERB文件中设置一个变量(我使用的是RubyServe),它提示“未定义的局部变量或方法‘session’”谢谢! 最佳答案 session是一些网络框架的一部分的方法,例如Sinatra和Rails两者都有session方法。普通的rack应用程序没有session方法,除非您自己添加一个。session哈希存储在键rack.s

ruby-on-rails - 如何在 ruby​​ Test::Unit 框架中运行单个 shoulda 上下文测试

我通常可以对方法“delete_user_test”使用以下命令行语法来测试常规Test::Unit方法:rubyfunctional/user_controller_test.rb-ndelete_user_test现在,当我将shoulda插件与Test::Unit一起使用时,我尝试使用如下相同的技术:...context"DeletingaUser"doshould"removeuserfromusertable"do...endend然后我尝试按如下方式运行单个测试:rubyfunctional/user_controller_test.rb-n"test:DeletingaU

ruby-on-rails - 当我运行 `bundle exec rake test:prepare` 时它出错了,但是 `bundle exec rake db:test:prepare` 运行正常但有警告。这是怎么回事?

所以根据thislink一个是快捷方式包装器(所以我猜它们是一样的)。当我运行bundleexecrakedb:test:prepare时,我得到了这个错误:Don'tknowhowtobuildtask'test:prepare'/Users/aj/.rvm/gems/ruby-2.0.0-p451@railstutorial_rails_4_0/bin/ruby_executable_hooks:15:in`eval'/Users/aj/.rvm/gems/ruby-2.0.0-p451@railstutorial_rails_4_0/bin/ruby_executable_hoo

Ruby Rack - 安装一个默认读取 index.html 的简单 Web 服务器

我正在尝试从本教程中获取一些信息:http://m.onkey.org/2008/11/18/ruby-on-rack-2-rack-builder基本上我想要一个文件config.ru告诉rack读取当前目录,这样我就可以访问所有文件,就像一个简单的apache服务器一样,还可以读取带有索引的默认根目录.html文件...有什么办法吗?我当前的config.ru看起来像这样:runRack::Directory.new('')#thiswouldreadthedirectorybutitdoesn'tsettheroottoindex.htmlmap'/'dofile=File.re

ruby-on-rails - 你如何进行 "nest"或 "group"Test::Unit 测试?

RSpec有:describe"theuser"dobefore(:each)do@user=Factory:userendit"shouldhaveaccess"do@user.should...endend您如何将这样的测试与Test::Unit分组?例如,在我的Controller测试中,我想在用户登录和无人登录时测试Controller。 最佳答案 您可以通过类实现类似的功能。可能有人会说这很糟糕,但它确实允许您在一个文件中分离测试:classMySuperTest 关于ruby

ruby-on-rails - Rack 错误 "Rack::Lint::LintError: Response body must respond to each"

我正在阅读tekpubrack教程,但是当我尝试在rack中运行一个基本程序时,我遇到了这个错误。ERRORRack::Lint::LintError:Responsebodymustrespondtoeach/Users/adam/.rvm/gems/ruby-1.9.3-preview1/gems/rack-1.3.4/lib/rack/lint.rb:19:in`assert'/Users/adam/.rvm/gems/ruby-1.9.3-preview1/gems/rack-1.3.4/lib/rack/lint.rb:513:in`each'/Users/adam/.rvm

ruby - Test::Unit 中的全局设置和拆卸 block

在整个测试套件(不仅仅是一个测试类)中的每个方法之前运行设置的最佳方法是什么?Rspec允许您定义全局的前后block。在Test::Unit中是否有一种干净的可比方法不涉及将模块混合到每个测试类中? 最佳答案 假设您使用的是Rails。只需在您的test/test_helper.rb文件中添加以下内容即可。classActiveSupport::TestCasesetup:global_setupdefglobal_setup#stufftorunbefore_every_test.endend在Rails3.0.9上测试。

ruby - 如何读取 Rack 请求中的POST数据

当我运行curl命令时curl-v-H"Content-type:application/json"-XPOST-d'{"name":"abc","id":"12","subject":"mysubject"}'http://localhost:9292为了将带有数据的POST请求发送到我的Rack应用程序,我的代码打印出{}。这是来自putsreq.POST()在下面的代码中。为什么它打印出{}而不是POST数据?以及如何在我的Rack应用程序中正确访问POST数据?require'json'classGreeterdefcall(env)req=Rack::Request.new(

ruby-on-rails - Phusion Passenger Error : You have activated rack 1. 2.1,但是你的 Gemfile 需要 rack 1.2.2

我正在尝试在Dreamhost共享服务器上运行RubyonRails应用程序。到目前为止一切都很好,除了一个我无法解决的奇怪错误。有时,当我访问网络应用程序时,会出现PhusionPassenger错误提示,Youhavealreadyactivatedrack1.2.1,butyourGemfilerequiresrack1.2.2.Considerusingbundleexec.当我只是刷新页面时,它似乎可以正常工作-不再显示PhusionPassenger错误消息。跟随其他堆栈溢出线程和类似的Dreamhostwiki,我将以下内容添加到config/environment.rb