问题标签 [rspec-sidekiq]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 如何使用 RSpec 测试 Sidekiq 工作人员?
我正在使用 RSPEC 进行测试,并将 Sidekiq 用于后台作业。
因为,workers
rspec 中没有生成器,所以不知道该使用什么。
https://relishapp.com/rspec/rspec-rails/docs/generators
bundle exec rspec spec/workers/test_worker_spec.rb
像下面这样,我得到:uninitialized constant TestWorker
需要'spec_helper'
正如我所尝试的,gem rspec-sidekiq
https://github.com/philostler/rspec-sidekiq
app/workers/
有人可以提供用于在 Rspec 中进行测试的示例模板吗?
谢谢。
ruby-on-rails - 如何检查异常块中的代码?
我有 Sidekiq 工人。
我写了规范,但是当我尝试测试时出现错误Rails.looger
。
运行此规范后,我收到错误消息。但为什么?
测试这两条线有什么意义吗?
ruby-on-rails - Sidekiq with Heroku & Rails : 我的工作卡在 Heroku 的队列中
解决方案编辑:
Heroku 上的 worker 按钮没有从 Off 变成 On...
我正在尝试在我的 RailsApp 上使用 Sidekiq。该配置在开发中运行良好,但在使用 Heroku 的产品中,所有作业都被排入队列但卡在队列中。
一些见解:
我已经在 Heroku 上完成了 Redis_to_go 的配置。
Heroku 作业日志
我所有的配置和代码: Procfile
应用程序.rb
注册控制器.rb
类 CreateMemberContactJob < ApplicationJob queue_as :默认
CreateMemberContactJob
请帮助我,我已经通过了所有 SO 帖子和 Sidekiq wifi 以及 Medium 帖子和圣书,但我没有弄清楚。
非常感谢
ruby-on-rails - 如何在 RSPEC 中测试或存根 Sidekiq::Batch?
如何在RSPEC中测试或存根Sidekiq::Batch?
请参阅下面的代码中出现错误。
rails_helper
待测试的工人...
规范/工人/test_worker_spec.rb
ruby-on-rails - 当我使用 sidekiq 时,ActionMailer::Base.deliveries 给出了空白数组?我们需要为此做任何配置吗
当我使用 sidekiq 时,ActionMailer::Base.deliveries 给出了空白数组?我们需要为此做任何配置吗
我的 test.rb 看起来像这样在开发模式下它工作正常,即使从 test sidekiq 也没有显示错误。
ruby-on-rails - 导轨;安装 Sidekiq 后的自动加载问题:ArgumentError(Api::V1 的副本已从模块树中删除,但仍处于活动状态!):
我有一个正在开发的 rails (v5.1) 项目,我最近在其中安装了 Sidekiq。我现在有一个自动加载问题,得到主题参数错误。
我做了相当多的研究,这似乎归结为“试图从一个没有自动重新加载(在 lib 目录中)的类中访问自动重新加载的类(在 app 目录中)”的问题,并且当重新加载代码时,Rails 会抛出一个错误,因为常量搜索开始的模块不应该存在,而是存在。在我的例子中,Rails 似乎试图在“api/v1”下自动加载控制器。此处主要参考。
显然,当自动加载试图在不同的线程中加载相同的常量时,当在另一个线程中加载常量时,问题也可能与线程有关。我已经读过这个问题可以通过“require”或“require_dependency”来处理,以确保在Rails尝试自动加载代码之前加载代码,但我还没有弄清楚在自动加载之前我可以在哪里需要控制器。有什么见解吗?
我似乎找不到文件命名约定的问题,这似乎是导致此错误的原因之一。我试过把“::”放在不同的地方,但无济于事。我可以在 development.rb 中设置“config.eager_load:true”以无错误地运行代码,但这会留下其他问题。
********* 更新 *********
我尝试将 /config/puma.rb 中的线程池大小从 5 更改为 1,然后 ArgumentError 消失了。这表明上述和本文中描述的线程问题,而不是非自动加载的常量中的自动加载常量。我几乎得出结论,Sidekiq 由于线程而与 Rails 自动加载不兼容,但有谁知道如何处理这个问题?
配置/puma.rb
至
********* 更新 *********
我的 lib 目录中的内容可能是问题所在吗?如果是这样,我该如何解决这个问题?
我的应用程序在 lib 目录中只有一个文件用于响应程序 gem,application_responder.rb,它引用了 ActionController。这个参考可能有问题吗?文件内容如下:
/lib/application_responder.rb
application_controller.rb 文件引用响应者如下:
/app/controllers/application_controller.rb
错误日志:
ruby-on-rails - 使用 rspec-sidekiq 测试 sidekiq 工作者不起作用
这是我的测试代码:
这就是我得到的结果
澄清一下,我after_save
在模型中有一个回调,Cookie
它以这种方式调用工人:
CookCookieWorker.perform_in(5.seconds, id)
一开始我以为我可能无法以这种方式测试工人,可能模型回调没有效果?但是我尝试在测试中手动调用工人:
但我得到相同的结果,测试失败。任何想法?
ruby - Rspec 如何测试 Sidekiq 作业是否计划在特定时间运行
我有以下工人
在我的 rspec 测试中,我有以下内容job_blasting_worker_spec.erb
我希望这能奏效,但我意识到应该安排在接下来的 2 分钟内的 sidekiq 作业永远不会被创建。因此,测试失败。
我如何确保 sidekiq 作业在接下来的 2 分钟内实际创建并且测试成功运行?
ruby-on-rails - 期望 Sidekiq 作业接收带有参数 Rspec 的异步
我有以下工人
我也有以下job_blasting_service
并且在scoring_worker
现在我想编写一个 rspec 测试来验证发送到的参数ScoringWorker
是否准确。
我有这个 rspec 测试,当我运行它时,我收到一个错误,因为它没有任何带有参数的 sidekiq 作业。
我怎样才能为它编写这个测试以获得所需的响应
ruby-on-rails - 使用 ActiveJob 为 sidekiq 作业手动设置当前执行/重试次数
我已经在我的工作上实现了重试次数相关的逻辑。例如,当一个作业第一次失败时,我使用额外的参数重新启动它,以处理之前作业执行可能不正确的“清理”。
如何使用特定的执行编号运行 sidekiq 作业(通过 ActiveJob 或手动)
这与添加sidekiq_options :retry => 5
作业的类定义不同。
我需要类似的东西
语法是什么,或者是否有解释如何执行此操作的文档?
这将证明是有用的
- 用于 RSpec 测试
- 对于在控制台中手动重试一些有问题的作业并直接查看 stdout /interact