1
我想通过使用共享上下文来干我的RSpec请求规范。我想在共享上下文之间共享let
变量,以便它们彼此继承和扩展。如何在共享上下文之间共享RSpec让变量?
Rspec.shared_context 'JSON request' do
let(:headers) do
{
'Accept' => 'application/json'
}
end
end
Rspec.shared_context 'Authenticated request' do
let(:headers) do
super().merge('Authorization' => "Bearer #{token}")
end
end
Rspec.describe 'user management' do
let(:token) { create(:oauth_token) }
include_context 'JSON request'
include_context 'Authenticated request'
it 'responds with a 200 ok' do
get '/user', headers: headers
expect(response).to have_http_status(:ok)
end
end
声明token
作品如预期,但使用super()
覆盖headers
回报NoMethodError
暗示super()
为零。
完美,谢谢! –