rspec中的Sidekiq testnig给出了错误的参数错误


当我尝试测试sidekiq的rspec时,它会将params作为字符串发送到方法。

例如:

我的rspec

"expect(User::RemoveAccess).to have_enqueued_sidekiq_job(user.id,user_account_ids)">

这里的用户帐户id是一个数组类似user_account_ids=user.pull(:account_ids(

我的ruby代码:

User::RemoveAccess.perform_async(user.id,user.pluck(:account_ids))

我在rspec中得到的错误是:

expected to have an enqueued User::RemoveAccess job
arguments: [12670, ["e012-40d-4f50-8d96-14"]]
found
arguments: [[12670, "e012-40d-4f50-8d96-14"]]

我不确定我哪里错了,有没有遗漏什么?。

发生错误的参数错误,因为您在单个用户实例而不是活动记录集合上调用.pull

如果你想要一个数组,你需要更改这个

user.pluck(:account_ids)

到此

users.pluck(:account_ids)

相关内容

  • 没有找到相关文章

最新更新