为测试反序列化 GlobalID 对象的最佳方法

Best way to deserialize GlobalID objects for tests

我想测试当提交表单时,特定作业会使用适当的参数排队。为此,我需要检查传递给作业的参数,其中包括 ActiveRecord 使用全局 ID 序列化的模型。

我想用最少的方法调用来做到这一点。现在,我正在使用这个: GlobalID::Locator.locate(enqueued_jobs[0][:args][0]['_aj_globalid']) 其中 enqueued_jobsActiveJob::TestHelper.

定义

我可以更优雅地做到这一点吗,可能是使用一些 gem?

我最近也在找同样的东西,我遇到了符合我需要的 rspec-activejob gem。它允许您编写期望值,例如:

expect(MyAwesomeJob).to have_been_enqueued.with(global_id(user))