gpt4 book ai didi

ruby-on-rails - 将 header 附加到 Rspec Controller 测试

转载 作者:数据小太阳 更新时间:2023-10-29 06:42:47 27 4
gpt4 key购买 nike

我正在尝试为我的 Controller 编写测试,该 Controller 接收来自外部服务的请求。到目前为止,这是我的测试:

describe ApplyController do
context 'when valid' do
let(:parameters) do
file = File.join File.dirname(__FILE__), '..', 'samples', 'Indeed.json'
JSON.parse(File.read file)
end
let(:signature) { 'GC02UVj0d4bqa5peNFHdPQAZ2BI=' }

subject(:response) { post :indeed, parameters, 'X-Indeed-Signature' => signature }

it 'returns 200 ok if Request is valid' do
expect(response.status).to eq 200
end
end
end

这应该根据 documentation 工作我可以find .

我的 Controller 现在看起来像这样:

class ApplyController < Application Controller
def indeed
binding.pry
end
end

当我在测试中使用 Pry 并尝试检查 request.headers['X-Indeed-Signature'] 的值时,我总是得到 nil

有什么我想念的吗?我正在使用 Rails 3.2 和 Rspec 3

最佳答案

我想你想要(直接从你的一个链接)

it "returns 200 ok"
@request.headers['X-Indeed-Signature'] = signature
post :indeed, parameters
response.status.should == 200
end

你不需要主题(:响应)

关于ruby-on-rails - 将 header 附加到 Rspec Controller 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529917/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com