rspec - 在 rspec 中获取安全的随机值
问题描述
在我的控制器中,下载 xls 文件后将重定向到某个位置。重定向路径包含安全随机值。如何获得与控制器随机值相同的随机值。
我尝试从规范/控制器文件中获取随机值。但该值与控制器值不同。
这是我的控制器
def xls_job
ref = SecureRandom.hex
redirect_to polymorphic_url([:xls_job, :client, booking_type.tableize], { job_id: @job.id, job_ref: ref } )
end
我有这样的错误
Expected response to be a redirect to
<http://test.host/client/interpretings/xls_job?job_id=15433&job_ref=1db823fef6b892e6c1cc362bf8fe5e87>
but was a redirect to
<http://test.host/client/interpretings/xls_job?job_id=15433&job_ref=b8c9464466b90e65492627b77e121346>.
我怎样才能获得与控制器相同的随机值..?
解决方案
你必须ref
像下面这样存根你的变量:
before { allow(SecureRandom).to receive(:hex).and_return('myrandomhex89809') }
来源:关于SO的问题
应该做的伎俩。
推荐阅读
- swift - Swift - 奇怪的“金属”崩溃
- python - 在heroku上使用pytesseract buildpacks时出错
- javascript - 寻找一种更好的方法来在 javascript 中存储动态创建的对象列表
- c++ - C++ 如何从函数返回一个字符数组?
- ios - 我已在 App Store 中上传 IPA,但 ipa 未在 App Store 中上传。在 App Store 中显示一些错误
- facebook - 跟踪 facebook 按钮(不推荐使用 edge.create)。是否有替代方案,但没有 Webhooks?
- java - 来自 Google Play 的安全警告!弱势阶层
- javascript - 通过推送更新出现不一致的数据 - 多个服务人员同时处于活动状态?
- ssis - BIDS 2008 DTS 包删除密码
- jquery - Jquery 选择器:如何选择元素