在 rspec 中获取安全随机值
Get secure random value in rspec
在我的控制器中,下载 xls 文件后将重定向到某个位置。重定向路径包含安全随机值。如何获得与控制器随机值相同的随机值。
我尝试从 spec/controller 文件中获取随机值。但该值与控制器值不同。
这是我的控制器
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') }
来源:
应该可以解决问题。
在我的控制器中,下载 xls 文件后将重定向到某个位置。重定向路径包含安全随机值。如何获得与控制器随机值相同的随机值。
我尝试从 spec/controller 文件中获取随机值。但该值与控制器值不同。
这是我的控制器
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') }
来源:
应该可以解决问题。