2016-05-29 4 views
0

私はAPIエンドポイントでRSpecを実装することを学び、このチュートリアルの後にはhttps://labs.kollegorna.se/blog/2015/04/build-an-api-now/です。添付のgithubの(https://github.com/vasilakisfil/rails_tutorial_api/blob/008af67e88897a5bcde714ce13d39a26ec70fba7/spec/apis/users_spec.rb)においてRailsで `it_returns_status(200)` RSpecメソッドを使う方法は?

、試験方法のいくつかは、次のとおり

  • it_returns_status(200)
  • it_returns_resources(ルート: 'ユーザ'、数:5)
  • it_returns_attributes(リソース: 'user'、モデル: '@user'、only ...)

私は自分のアプリケーションでこれらを試したときにエラーが発生しました。 RSpecの:: ExampleGroups :: ApiV1ProjectsController ::ショー

method_missing': undefined method it_returns_status':クラス (NoMethodError)も

とは、グーグルの際に、これらの方法を見つけることができませんでした。

これまで誰もがこれを使用していて、追加のライブラリの一部であることを知っていましたか?または、他の何か?私はRSpecにはかなり新しいです。 JSON解答使用パーサーをテストし、代わりに属性のペアのフィールドをテストするには

expect(response).to have_http_status(:success) 
  • :テストの状態に

  • 答えて

    1
    1. ではなくit_returns_statusの特定のバリデータを使用

      record = JSON.parse(response.body) 
      expect(record["root"]).to eq 'users' 
      expect(record["number"]).to eq 6 
      

      知っていますJSONテストに関する詳細は、the articleを参照してください。

    2. あなたは、リソースは次のように、パスの使用パスのバリデータで意味ない場合:

      expect(current_path).to eq(root_path(@user)) 
      
    関連する問題