RSpec和rswag:如何在测试中执行排队的作业

问题描述

我在Rails 5中有一个使用rswag进行端点定义和测试的API项目。

一个控制器动作2020-02-05 13:55:00 使用create使具有关键字参数的ActiveJob入队

当我在请求规范中使用perform_later(job_title: @job,date: @date)来执行此操作时,我想立即运行排队的作业。

如何强制使用在控制器操作中传递的关键字参数来运行作业?

解决方法

您可以在perform_enqueued_jobs块内使用run_test!

run_test! do
  perform_enqueued_jobs
end