草庐IT

rspec-sidekiq

全部标签

ruby-on-rails - 运行 rspec 测试时关系不存在

我的group_spec.rb文件中有这个:describeGroupdoit{shouldhave_many(:users)}end这在我的user_spec.rb文件中:describeUserdoit{shouldbelong_to(:group)}end当我运行测试时,我得到:Failure/Error:it{shouldhave_many(:users)}ActiveRecord::StatementInvalid:PGError:ERROR:relation"users"doesnotexistLINE4:WHEREa.attrelid='"users"'::regclas

ruby-on-rails - 如何避免 Rspec 共享示例 'previously defined' 警告?

我正在尝试学习如何使用Rspec的共享示例功能,但在运行测试时收到警告:WARNING:Sharedexamplegroup'requiredattributes'hasbeenpreviouslydefinedat:/Users/me/app/spec/support/shared_examples/required_attributes_spec.rb:1...andyouarenowdefiningitat:/Users/me/app/spec/support/shared_examples/required_attributes_spec.rb:1Thenewdefinitio

ruby-on-rails - 在 RSpec 中获取 'Bad value for range'

这是我的代码:#app/models/user.rbclassUser:modeldolet(:user){FactoryGirl.create:user}it"shouldreturnthecorrectdisplayname"doexpect(user.display_name).toeql("Chuck")endend#spec/factories/users.rbFactoryGirl.definedofactory:userdoprovider"MyString"uid"MyString"name"ChuckNorris"oauth_token"MyString"oauth_

ruby-on-rails - Ruby on Rails + Sidekiq : How do I change a scheduled job start time?

我最近开始使用Sidekiq并注意到它有一个我一直在寻找的很棒的功能:UserMailer.delay_until(5.days.from_now).find_more_friends_email基本上我可以在未来安排工作,所以我不需要我的应用程序持续轮询具有开始时间的新事件。现在这很有用,但我如何更改作业的开始时间?通常一些预定的事件会更改其开始时间。我如何在sidekiq中复制它?我知道我可以删除作业并创建一个新作业,但是否可以只修改开始时间?编辑:我建立在OtoBrglez的想法之上,这里是记录的代码:moduleTaskStuffclassTaskSetterincludeSi

ruby-on-rails - rspec 测试 ajax 响应(应该呈现部分)

我想测试我的Controller操作是否正在渲染部分内容。我四处寻找,似乎找不到任何有用的东西。创建Action:defcreate@project=Project.new...respond_todo|format|if@project.saveformat.js{render:partial=>"projects/form"}endendend规范:it"shouldsaveandrenderpartial"do....#Iexpected/hopedthiswouldworkresponse.shouldrender_partial("projects/form")#oreven

ruby-on-rails - 将 sidekiq 作业直接移至死队列

是否可以将sidekiq作业从SidekiqWorker实例级别直接移动到死队列(即在执行时)classMyWorkerincludeSidekiq::Workersidekiq_optionsretry:9defperform(name)ifname=='StackOverflow'#---->skip_retry_queue_and_go_to_dead_queueelse#do_stuff!endendend 最佳答案 在执行作业中不是动态的。静态地,如果您设置sidekiq_optionsretry:0,如果作业引发错误,它

ruby-on-rails - RSpec:如何测试从 Controller 调用私有(private)辅助方法的辅助方法?

这是我所拥有的:从中调用Controller辅助方法(私有(private))的应用程序辅助方法。代码:应用程序助手:defordenar(coluna,titulo=nil)titulo||=coluna.titleizecss_class=(coluna==**coluna_ordenacao**)?"#{**direcao_ordenacao**}":"ordenavel"direcao=(coluna==**coluna_ordenacao**and**direcao_ordenacao**=="asc")?:desc::asclink_totitulo,{:sort=>col

ruby - 为什么我的 RSpec 测试失败,但我的应用程序正常运行?

我刚刚完成chapter10oftheRubyonRailsTutorial,添加编辑/更新、索引和销毁用户的能力。在我的应用程序中似乎一切正常,但是当我运行RSpec时我的许多测试都失败了。我的users_controller_spec设置与书中完全相同,我的应用程序代码也相同。一个问题可能是我使用的是Rails3.1.1而不是他在书中使用的Rails3.0?对于以前的测试来说,这并不是真正的问题,只是偶尔会出现几行不同的代码。我开始后问题开始出现section10.2.1.这是我看到的错误列表,如果您需要更多信息,请告诉我。谢谢!1)UsersControllerGET'index

ruby - Sidekiq 现任赛璐珞 Actor

我需要在我的Sidekiqworker中访问当前的赛璐珞Actor,但我看不到这样做的方法。每当我尝试调用:Celluloid::Actor.current我收到一个错误:不在actor范围内我试图通过每次创建一个新Actor来绕过寻找当前Actor:Celluloid::Actor.new(SecureRandom.hex)但出于某种原因,它给我一个错误:attemptedtocalldeadactor。我应该做些什么不同的事情来让当前的actor进入Sidekiqworker?背景信息我正在连接到我的工作人员中的websocket并向它发送消息。Celluloid::WebSock

ruby-on-rails - 如何分析我的 rspec 测试以找到最大的内存消耗?

我们使用circleci作为部署过程的一部分。Circleci运行了我们的3000次测试,有时会失败,因为它达到了4GB的内存限制。看起来我们的一些测试正在创建大量对象并耗尽大量内存。我只是不知道哪些是。有没有一种简单的方法可以分析给定测试所用的内存?如果我知道如何执行此操作,我可以轻松地遍历每个测试并运行它并查看它使用了多少内存。 最佳答案 您可以使用ruby-profgem来分析内存使用情况。但首先您可以尝试使用--profileflag运行rspec.它将为您提供10个最慢的规范,这可能是开始寻找消耗大量内存的规范的好地方。