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

时间:2015-11-27 05:25:18

标签: ruby-on-rails rails-activejob

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

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

我可以通过使用一些宝石更优雅地做到这一点吗?

1 个答案:

答案 0 :(得分:1)

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

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