ArgumentError:assert_no_enqueued_jobs 需要 Active Job 测试适配器,您正在使用 ActiveJob::QueueAdapters::SidekiqAdapter

问题描述 投票:0回答:1

我们一直在寻求升级到 Rails 7.2.0,但我们在 MiniTest (v 5.24.1) 中遇到了新错误。

ArgumentError: assert_no_enqueued_jobs requires the Active Job test adapter, you're using ActiveJob::QueueAdapters::SidekiqAdapter.

我在 Rails Changelogopen issues

中看不到任何注释

关于如何修复有什么建议吗?

ruby-on-rails minitest ruby-on-rails-7 ruby-on-rails-7.2
1个回答
0
投票

您必须为测试环境设置适配器:

# config/environment/test.rb

config.active_job.queue_adapter = :test

所有测试现在都遵循

active_job.queue_adapter
配置。

以前,如果您在

config.active_job.queue_adapter
config/application.rb
文件中设置了
config/environments/test.rb
,则您选择的适配器以前不会在所有测试中一致使用。在某些测试中,将使用您的适配器,但其他测试将使用
TestAdapter

在 Rails 7.2 中,所有测试都将遵循

queue_adapter
配置(如果提供)。如果没有提供配置,
TestAdapter
将继续使用。

请参阅#48585了解更多详情。

https://github.com/rails/rails/blob/v7.2.0/activejob/CHANGELOG.md#rails-720-august-09-2024

© www.soinside.com 2019 - 2024. All rights reserved.