首先请注意,我在StackOverflow和网络上的文章中发现了几个类似的问题,但没有一个能帮助我解决我的问题:PGErrorcouldnotconnecttoserver:ConnectionrefusedIstheserverrunningonport5432?PG::ConnectionBad-couldnotconnecttoserver:Connectionrefusedpsql:couldnotconnecttoserver:Connectionrefused问题来了:我有一个非常棒的Rails应用程序。我和我的合作者使用GitHub一起工作。我们有一个master和一个m
似乎有两种完全不同的测试方法,我想引用它们。问题是,这些意见是在5年前(2007年)提出的,我很感兴趣,从那以后发生了什么变化,我应该走哪条路。BrandonKeepers:Thetheoryisthattestsaresupposedtobeagnosticoftheimplementation.Thisleadstolessbrittletestsandactuallyteststheoutcome(orbehavior).WithRSpec,Ifeellikethecommonapproachofcompletelymockingyourmodelstotestyourcontr
我正在测试Web应用程序的前端,并想测试在AJAX请求之间的各种延迟下,某些转换是如何出现的。有什么方法可以向我的Controller添加sleep(1500)以延迟响应? 最佳答案 Controller是这样的:defcatalog#Makestherequestpause1.5secondssleep1.5...end更好的是:只为开发环境添加sleep。 关于ruby-on-rails-如何为RailsController添加延迟以进行测试?,我们在StackOverflow上找到
我需要一种快速的方法来确定给定端口是否已使用Ruby打开。我目前正在摆弄这个:require'socket'defis_port_open?(ip,port)beginTCPSocket.new(ip,port)rescueErrno::ECONNREFUSEDreturnfalseendreturntrueend如果端口打开,它会很好用,但缺点是偶尔它会等待10-20秒,然后最终超时,抛出ETIMEOUT异常(如果端口已关闭)。因此我的问题是:是否可以将此代码修改为仅等待一秒钟(如果到那时我们什么都没有返回,则返回false)或者是否有更好的方法来检查给定的端口是否在给定的端口上打开
给定一个包含几个实例变量和一些方法的类。一些实例变量设置为可通过attr_reader和attr_accessor访问。因此其他的都是私有(private)的。一些私有(private)实例变量在一个实例方法中设置,并在另一个方法中读取/使用。我使用RSpec进行测试。由于我对Ruby还是个新手,并且希望把所有事情都做好,所以我将我的测试定义为相当细粒度的。因此,我为每个实例方法获得了一个describeblock,它们本身被划分为context和it的子集。一般环境先决条件用before定义。但是,当测试其中一种使用但未设置私有(private)变量的方法时,我需要调用另一种方法,即
这个问题在这里已经有了答案:Howtospecaprivatemethod(4个答案)关闭9年前。是的,我知道,测试私有(private)方法不是一个好主意(而且我阅读此线程-http://www.ruby-forum.com/topic/197346-还有一些其他)但是我怎样才能测试下面的代码呢?我使用xmpp4r。在我的公共(public)方法#listen中,我开始接收jabber像这样的消息:deflisten@client.add_message_callbackdo|m|do_things_with_message(m)endendprivatedefdo_things_w
在几个项目中使用RSpec之后,我尝试了minitest/unit。到目前为止我很喜欢它,但我想念使用描述/上下文block以逻辑方式对我的测试/规范进行分组。我知道minitest/spec提供了这个功能,但我喜欢minitest/unit感觉更接近准系统Ruby。是否有任何gem为minitest/unit提供描述/上下文支持?或者,我应该在minitest/unit中忍受我冗长、无组织的测试文件吗? 最佳答案 我知道有几个来自RSpec的人为了同一个问题而苦苦挣扎。他们喜欢使用describe/contextblock进行嵌套
我想根据某些条件测试渲染特定部分。例如,在模型显示操作Viewshow.html.erb我有:"partial1"%>"partial1"%>我试过:response.shouldrender_template("partial_name")但它告诉它渲染了“显示”模板expectingbutrenderingwith我做错了什么? 最佳答案 也试试这个response.shouldrender_template(:partial=>'partial_name') 关于ruby-on-r
如果整个字符串匹配(而不是子字符串),我如何针对正则表达式设置字符串以返回true?例如:test(\ee\,"street")#=>returnsfalsetest(\ee\,"ee")#=>returnstrue!谢谢。 最佳答案 您可以用\A匹配字符串的开头,用\Z匹配结尾。在ruby中,^和$也分别匹配行的开头和结尾:>>"a\na"=~/^a$/=>0>>"a\na"=~/\Aa\Z/=>nil>>"a\na"=~/\Aa\na\Z/=>0 关于ruby-如何在ruby
我正在构建一个集成测试套件,我需要一个干净的数据库来处理一些逻辑。如何在我的一个测试中运行db:test:purge任务?我正在使用:ruby1.9.2、rails3.0.9、rspec2.6 最佳答案 您可以按如下方式调用Rake任务:require'rake'Rake::Task[name].invoke在这种情况下,这将导致以下代码:require'rake'Rake::Task['db:test:purge'].invoke 关于ruby-在Rspec测试中运行Rake任务,我们