我已经使用rspec添加了规范以覆盖sidekiq作业,但现在,当我启动rails服务器、控制台或仅仅是sidekiq时,我会收到这个警告:
WARNING: Sidekiq testing API enabled, but this is not the test environment. Your jobs will not go to Redis.
而作业确实没有排队。
我该如何切换回开发API?
我已经使用rspec添加了规范以覆盖sidekiq作业,但现在,当我启动rails服务器、控制台或仅仅是sidekiq时,我会收到这个警告:
WARNING: Sidekiq testing API enabled, but this is not the test environment. Your jobs will not go to Redis.
而作业确实没有排队。
我该如何切换回开发API?
你可能需要检查一下是否在 :development 组中包含了 gem 'rspec-sidekiq'。如果是这样的话,请将其从那里移除,只在 :test 组中调用它。
我们在这里遇到了同样的问题,由于我们的开发和测试环境在一个docker化的容器中共享相同的gems,所以我们需要采用不同的解决方法:
gem "rspec-sidekiq", ~> "3.1.0", require: false
spec/rails_helper.rb
中要求它。require "rspec-sidekiq"
继托马斯上面的答案之后,如果你在Gemfile中找不到rspec-sidekiq
gem,请检查你项目代码的任何部分(例如sidekiq初始化器)是否有以下代码:
require 'sidekiq/testing'
Sidekiq::Testing.inline!
在使用sidekiqswarm
和预加载test
宝石时,我发现了这个错误。
一旦我进行了修改,它就完美运行了。
之前:
worker: SIDEKIQ_COUNT=5 SIDEKIQ_MAXMEM_MB=300 SIDEKIQ_PRELOAD=default,development,test sidekiqswarm -C config/sidekiq.yml
之后:
worker: SIDEKIQ_COUNT=5 SIDEKIQ_MAXMEM_MB=300 SIDEKIQ_PRELOAD=default,development sidekiqswarm -C config/sidekiq.yml```
require 'sidekiq/testing'
。 - Sergio Tulentsevspec_helper
中引用它。你找到解决方法了吗? - Cojonesrequire 'sidekiq/testing/inline'
,例如config/environments/development.rb
。 - Edgar Ortega