草庐IT

Controller测试

全部标签

ruby - 如何测试 JSON REST API

我是ruby​​的新手(第一天使用ruby​​)所以请原谅任何新手问题和缺乏理解。我正在尝试验证对http标注的响应。例如,假设端点如下:https://applicationname-api-sbox02.herokuapp.com而且,我正在尝试通过发送这样的获取请求来验证用户身份:get_response=RestClient.get("https://applicationname-api-sbox02.herokuapp.com/api/v1/users",{"Content-Type"=>"application/json","Authorization"=>"token4

ruby-on-rails - Rails 3.0.7 -> 如何让测试运行得更快?

我正在运行mysql、database_cleaner、Rspec等。到目前为止我有大约518个测试,它们需要88秒才能运行。这对我来说是NotAcceptable,因为我的应用程序开发才刚刚开始。因此,在进一步深入之前,我想尝试找到减少运行这些测试所需时间的方法-希望不必实际更改测试。在大多数情况下,我尝试使用stub。但是,当我测试模型和查询时,我会使用数据库。我认为database_cleaner正在减慢它们的速度,但我不知道如何在没有它的情况下测试查询和其他内容。使用带有“:memory:”选项的sqlite3似乎只减少了大约10秒(有点令人失望的结果......)我该怎么做才

ruby-on-rails - Rails Unicorn - 启动请求和到达 Controller 之间的延迟

我正在使用Unicorn作为我的Rails应用程序的应用程序服务器,并且我试图弄清楚为什么有时在请求开始和请求到达我的Controller之间会有一个重要的(>5秒)延迟.这是我的production.log打印出来的:StartedGET"/search/articles.json?q=mashable.com"for138.7.7.33at2015-07-2314:59:19-0400**Parameters:{"q"=>"mashable.com"}Searchingarticlesforkeyword:mashable.com,format:json,Time:2015-07-

ruby-on-rails - 测试 ActiveRecord::RecordNotFound

当模型无法检索记录时,我的应用程序正在将ActiveRecord::RecordNotFound传播到Controller。这是数据库查询:defself.select_intro_verseoffset=rand(IntroVerse.count)IntroVerse.select('line_one','line_two','line_three','line_four','line_five').offset(offset).first!.as_jsonendfirst!如果没有找到记录,则引发一个ActiveRecord::RecordNotFound,我可以挽救它并在我的Co

ruby - 测试字符串是否不等于两个字符串中的任何一个

我刚开始学习RoR,所以请多多包涵。我正在尝试用字符串编写if或语句。这是我的代码:我尝试了很多其他方法,使用括号和||但似乎没有任何效果。也许是因为我的JS背景......如何测试变量是否不等于字符串一或字符串二? 最佳答案 这是一个基本的逻辑问题:(a!=b)||(a!=c)只要b!=c就永远为真。一旦你记住了bool逻辑(x||y)==!(!x&&!y)然后你就可以从黑暗中找到出路了。(a!=b)||(a!=c)!(!(a!=b)&&!(a!=c))#Convertthe||to&&usingtheidentityexplai

ruby-on-rails - 没有路由匹配 { :controller= >"stocks", :action= >"create"} RSpec Rails 3

我不明白为什么我在运行RSpec时收到此错误消息:Failure/Error:post:createActionController::RoutingError:Noroutematches{:controller=>"stocks",:action=>"create"}controllerstocks存在,actioncreate存在,它应该使用的路由是这样的:match'stocks/:user_id'=>'stocks#create',:via=>:post,:as=>:query路由文件:FruthScreener::Application.routes.drawdoroot:

ruby-on-rails - ActiveModel - 查看 - Rails 中的 Controller 而不是 ActiveRecord?

我正在尝试对我的模型使用ActiveModel而不是ActiveRecord,因为我不希望我的模型与数据库有任何关系。下面是我的模型:classUserincludeActiveModel::Validationsvalidates:name,:presence=>truevalidates:email,:presence=>truevalidates:password,:presence=>true,:confirmation=>trueattr_accessor:name,:email,:password,:saltdefinitialize(attributes={})@name

ruby - 如何使用 rspec 在 sinatra 中测试重定向?

我正在尝试在rspec中测试我的sinatra应用程序(更具体地说,padrino应用程序)主页上的重定向。我找到了redirect_to,但它似乎只在rspec-rails中。你如何在sinatra中测试它?所以基本上,我想要这样的东西:it"Homepageshouldredirecttolocations#index"doget"/"last_response.shouldbe_redirect#Thisworks,butIwantittobemorespecific#last_response.shouldredirect_to('/locations')#Onlyworksf

ruby-on-rails - 在带有 HTTPParty 的 Controller 中解析 JSON

在我的Controller中,我有以下代码...response=HTTParty.get('https://graph.facebook.com/zuck')logger.debug(response.body.id)我收到一个NoMethodError/undefined方法`id'如果我这样做...logger.debug(response.body)它按预期输出...{"id":"4","name":"MarkZuckerberg","first_name":"Mark","last_name":"Zuckerberg","link":"http:\/\/www.faceboo

ruby - 测试这个的最佳方法是什么?

我正在研究EdgeCaseRubyKoans。在about_dice_project.rb,有一个名为“test_dice_values_should_change_between_rolls”的测试,很简单:deftest_dice_values_should_change_between_rollsdice=DiceSet.newdice.roll(5)first_time=dice.valuesdice.roll(5)second_time=dice.valuesassert_not_equalfirst_time,second_time,"Tworollsshouldnotbe