APIのRSpecテストを作成しようとしています。
セットアップ: 一貫性を保つために、応答を受け取り、すべてが一貫しているように優れたJSONオブジェクトを作成するフォーマット関数があります。たとえば、この例では簡略化されています。
def format (status, message)
{status: status,
message: message}
end
この関数は、すべてのAPIコントローラーが継承するベースコントローラーで宣言されます。
必要なもの: APIコントローラーをテストするときに、コントローラーが期待どおりの結果を提供することをテストしたいのですが、JSON応答の実際の形式をテストしたくありません。のように、format関数に渡されたパラメーターが期待どおりであることを確認したいのですが、その関数が実際に何を返すかは確認したくありません。(別のテストでその関数をテストすることを計画しています。JSON形式への変更がAPIのすべてのテストに影響を与えない場合は、本当に欲しいです。これが適切でない場合は、遠慮なくお知らせください。 )。
私の質問: 現在のAPIスペックファイルのベースコントローラーからそのフォーマット関数にアクセスする方法はありますか?または、それをスタブして、渡されたパラメータにアクセスして、それらが正しいかどうかを確認するための良い方法はありますか?