0

Rspec を使用して、API のコントローラー スペックとリクエスト スペックを作成しようとしています。問題は、各仕様でテストのどの部分が行われるかを理解していないことです。

簡単にするために、コントローラーが次のようになっているとします。

class Api::V1::ItemsController < ApplicationController
  def index
    if params[:user_id]
      user = User.find(params[:user_id])
      @items = user.items
    else
      @items = Item.all
    end
  end
end

RABL を使用して応答をレンダリングします。

このような単純なコントローラーの場合、コントローラーの仕様はどのようになりますか? リクエスト仕様はどのように見えますか? API 応答の JSON が期待どおりであることをどの時点で確認しますか? 等

4

2 に答える 2

1

コントローラーの仕様については、リクエストの認証を処理するモックを設定します。params[:user_id]が渡された場合は@itemsユーザー項目に設定され、そうでない場合はすべての項目に設定されることのみをテストする必要があります。

リクエスト仕様については、認証プロセスを検証するためのテストをいくつか含めるだけです。

質問があれば、両方のテストで json としての API 応答を検証します。

于 2013-04-24T22:30:16.333 に答える