2014-06-24 3 views
2

RSpec 3에서 마이그레이션 한 후 요청 테스트가 실패합니다. 여기 여기 내 테스트RSpec 3 정의되지 않은 메소드 'get'요청 테스트에서

describe 'GET /api/v1/activities' do 
    let!(:user) { create(:user) } 

    subject { json['activities'] } 

    context 'when not authenticated' do 
     let(:token) { user.authentication_token } 
     let(:email) { '[email protected]' } 
     before :each do 
     get '/api/v1/activities', {}, {token: token, email: email} 
     end 
     it { expect(response).to_not be_success } 
    end 
end 

입니다 RSpec에 로그

Activities GET /api/v1/activities when not authenticated 
    Failure/Error: get '/api/v1/activities', {}, {token: token, email: email} 
    NoMethodError: 
     undefined method `get' for #<RSpec::ExampleGroups::Activities::GETApiV1Activities::WhenNotAuthenticated:0x0000000becfaf8> 

는 무엇을 할 수 있습니까?

답변

5

좋아, RSpec3 로의 마이그레이션이이 문제의 원인이었습니다. 나는 RSpec에 2.99.0로 이전하여 해결했던 나는

RSpec.configure do |config| 
    config.infer_spec_type_from_file_location! 
end 

지금 작동 내 spec_helper에이 코드를 추가 할 수있는 힌트를 받았다. 만세!

0

헬퍼를 추가하여 사양을 요청하십시오. spec_helper.rb에서 :

config.include RSpec::Rails::RequestExampleGroup, type: :request 

또한 난 당신이 정의를 스펙에 당신이 type: :request가 있다고 가정합니다.

+0

이 문자열은'spec_helper' config.include Requests :: JsonHelpers, type : : request'에 있습니다. 동일하지 않습니까? 또한 나는 이미 나를 도울 해결책을 찾는다. 그러나 나는 동시에 그것을 게시하기에 충분한 명성이 없다. 당신과 당신의 해결책이 어떻게 상대적인 것이라고 생각합니까? –

1

나는 이미 infer_spec_type_from_file_location! 세트를 가지고 있었지만, 여기에 capybara feature syntax를 사용했습니다. 아마도이 타입을 feature로 설정할 것입니다. featuredescribe으로 변경하면 효과가있었습니다.

관련 문제