2016-04-02 4 views
2

のRails 4.2.5でRSpecの:: ExampleGroups、RSpecのレール3.0.2は、未定義のメソッド `私は私のAPIをテストしたい#<私のRSpecの

は「取得取得します。そこで、requestsディレクトリを作成しました。ここでprojects_spec.rb

というファイルがあるコードです:

describe 'Projects API' do 
    describe 'GET /projects' do 
    it 'should return 401 HTTP code' do 
     get '/api/v1/projects' 
     expect(response.status).to eq(401) 
    end 
    end 
end 

そして、私はこのテストを実行するとき、私は

NoMethodError: undefined method `get' for #RSpec::ExampleGroups::ProjectsAPI::GETProjects:0x007fee73ad9b48> 

何が問題になっていますが取得していますか?

# rails_helper.rb 
config.infer_spec_type_from_file_location! 
+0

スペックファイルの先頭に 'require 'rails_helper''がありませんか? –

+0

@PaulFioravantiそれは動作しますが、私は警告のトンを得ています。ここに私のスタックトレースhttp://pastebin.com/LaYmyQEKがあります。また、それぞれのspecファイルにrequire 'rails_helper'を追加しないようにする方法もあります。それは乾燥していないようだ。 – Meliborn

+1

それぞれの仕様に 'require 'rails_helper''を追加してください。もちろん、いくつかのメタプログラミングを使用して、 '/ spec'ディレクトリの下にあるファイルが最初にこの行を持っていることを確認できますが、それを持っているのはコンベンションです –

答えて

6
describe 'Projects API', type: :request do 
    # ... 
end 

また、あなたはあなたのprojects_spec.rbrequire 'rails_helper'が含まれていることを確認します。

+0

既に試してみましたが、何も変更されていません – Meliborn

+0

@Melibornは健全性チェックとして - 'projects_spec.rb'に' rails_helper.rb'が必要でしたか? –

関連する問題