jjzjj

EXPECT_CALL

全部标签

ruby - 在 Ruby 中实现 `call_user_func_array`

我怎样才能完成http://php.net/manual/en/function.call-user-func-array.php在ruby中?所以我可以这样做:classAppdeffoo(a,b)putsa+benddefbarargs=[1,2]App.send(:foo,args)#doesn'tworkApp.send(:foo,args[0],args[1])#doeswork,butdoesnotscaleendend 最佳答案 尝试分解数组App.send(:foo,*args)

ruby-on-rails - expect() 在 rspec/cucumber 中做了什么?

在MichaelHartl的RailsTutorial中,许多示例使用expect()方法。这是cucumber步骤定义中的一个这样的例子:Then/^sheshouldseeherprofilepage$/doexpect(page).tohave_title(@user.name)end同样的例子可以写成同样的效果:Then/^sheshouldseeherprofilepage$/dopage.shouldhave_title(@user.name)end为什么要使用expect()?它增加了什么值(value)? 最佳答案

ruby-on-rails - 每当 gem : I set :output but the logfile doesn't show up where I'd expect it to

在我的schedule.rb文件中,我有以下几行:set:output,'/log/cron_log.log'every5.minutesdocommand'echo"hello"'end我按照这个问题Rails,usingwhenevergemindevelopment中的建议运行了whenever-w,并且我假设cronfile已编写并正在运行。(我也尝试重新启动Rails服务器。)当我运行$crontab-l时,我看到以下内容:0,5,10,15,20,25,30,35,40,45,50,55****/bin/bash-l-c'echo"hello">>/log/cron_log

ruby-on-rails - rails 2.3.8, ruby 1.8.6 : Getting a visual call tree/graph of what methods call what?

我有一个中等复杂度的Rails应用程序。主Controller(执行应用程序所要做的事情的Controller)只有一个操作方法。(它不是标准的RESTful应用程序;它充当中介,并且对其调用方式有外部限制。)但是,它确实有很多方法和一些过滤器,以及一个不断增长的测试套件。随着时间的推移,结构发生了很大变化,我不再相信为之前编写的测试设置的某些Mocha期望仍然合适。有多个人在开发该应用程序,因此我正在构建一本用于编写功能测试的指南。“当你想在有/没有[那些]副作用的情况下进行测试时,使用[这些]期望和断言”等等。调用树/图在编写此类文档时非常有用。除了过滤器之外,这些甚至可以静态地从

ruby-on-rails - ActiveRecord::QueryCache#call 占用了超过 70% 的执行时间

NewRelic向我展示了应用服务器中超过80%的执行时间发生在“MiddlewareActiveRecord::QueryCache#call”中这里是相关测试代码的要点(尽管我在其他API端点上看到了类似的结果)。Gist我正在AWSElasticBeanstalk上的t2.medium实例和t2.smallPostgresRDSDB上运行应用程序服务器,max_connections设置为100。我正在通过loader.io对此进行测试,对100个用户进行测试使用维护客户端负载设置(这意味着每分钟大约6000个请求)。有谁知道为什么QueryCache花费这么多时间?

ruby-on-rails - ruby rails : Best way to test a failed call to a third party API

我现在调用第三方网络服务作为我的应用程序的一部分。我正在使用RestClientgem来执行此操作。有大量工具可以用来做同样的事情,所以这应该无关紧要。我很好奇的是有足够好的测试,没有什么太花哨的,我可以在其中模拟当第三方Web服务出于任何原因不可用时我的应用程序如何响应。无论是我超出了速率限制还是由于网络延迟/并发症而超时,我只想能够获取HTTP状态代码之类的东西并测试我的应用程序在该事件中执行的操作。使用Test::Unit执行此操作的最佳方法是什么?现在,对第三方服务的调用封装在我的一个Controller中。我有一个简单的模块,其中包含一些用于远程服务不同端点的包装器方法。我只

ruby - 在描述之外使用 RSpec 的 "expect"等...它会阻止

我正在构建一个网络应用程序自动化框架,旨在允许:当然是自动化任务轻松构建测试场景我正在使用Capybara与浏览器通信,我有一个组件库,其中包含许多辅助函数(login_to_the_back_office、create_customer等)。现在我希望我的组件可以独立使用,也可以在RSpec测试中使用。这意味着我的组件(包含在库中)没有环绕describe...it...默认情况下会阻塞,但在测试使用它们时它们会在某个时候出现,因此它们应该使用expect和friend尽可能多。我关注了rspec's.shouldfails(outsidedescribe/itblock)inRub

Ruby 习语 : method call or else default

在Ruby中执行此操作的正确方法是什么?defcallOrElse(obj,method,default)ifobj.respond_to?(method)obj.__send__(method)elsedefaultendend 最佳答案 因为还没有提供答案:result=obj.methodrescuedefault与@slhck一样,当我知道obj很有可能不会响应方法时,我可能不会使用它,但这是一个选项。 关于Ruby习语:methodcallorelsedefault,我们在St

ruby-on-rails - rails : call method within model

这个我想不通。在Rails模型中,我想在同一模型中调用一个方法来操作find方法返回的数据。这个“过滤器”方法将从这个模型中的许多自定义查找方法中调用,所以我希望它是分开的。(而且我无法从SQL中过滤它太复杂了)这是一个例子:#controller@data=Model.find_current#modelclassModeldefself.find_current@rows=find(:all)filter_my_rowsreturn@rowsenddeffilter_my_rows#dostuffhereon@rowsforrowin@rows#basicallyIremovero

ruby-on-rails - 如何格式化多行 RSpec expect {}.to change

是否有更好的方法来格式化此测试以使其更具可读性?expect{within'.foo'doclick_link'Delete'end}.tochange{Foo.count}.by1期望do...end有效,但更丑陋... 最佳答案 也许是这样的?expected=expectdowithin'.foo'doclick_link'Delete'endendexpected.tochange{Foo.count}.by1不是很漂亮,但减少了一些线路噪音。 关于ruby-on-rails-如