当我尝试测试Sidekiq的RSpec时,它将参数以字符串形式发送给方法。
例如:
我的RSpec
“expect(User::RemoveAccess).to have_enqueued_sidekiq_job(user.id,user_account_ids)
”
这里的用户帐户ID是一个类似于USER_ACCOUNT_IDS=user.pluck(: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"]]
我不知道我在哪里搞错了,我有没有遗漏什么?
1条答案
按热度按时间mpgws1up1#
由于您在单个用户示例上而不是在活动记录集合上调用.pluck,因此发生了错误参数错误
如果您需要数组,则需要更改此设置
对这件事