RSpecのコントローラテストに関する練習問題
RSpecコースの一部として、コントローラテストに関する実践的な練習問題を19問用意しています。 基礎から応用まで段階的に学習できるよう構成されています。
学習を開始する準備ができました
下記の練習問題から始めて、段階的にスキルアップしていきましょう
RSpecでPATCHリクエストのテストにおいて、無効なデータで更新に失敗した場合に期待するHTTPステータスコードは何ですか?
約3分
RSpecで削除処理をテストする際、データベースの件数変化を確認するために使用するマッチャーは何ですか?
約3分
RSpecでHTTPリクエストをシミュレートし、コントローラの動作をテストするためのテスト手法は何と呼ばれますか?
約3分
以下のテストで、`let`の代わりに`let!`を使用する理由は何ですか? ```ruby let!(:article) { Article.create(title: "テスト記事") } it '記事を削除できる' do expect { delete "/articles/#{article.id}" }.to change(Article, :count).by(-1) end ```
約3分
DELETEリクエストで記事の削除が成功した場合、通常返されるHTTPステータスコードは何ですか?
約3分
RSpecのリクエストスペックでHTTPステータスコードが200であることを確認するために使用するマッチャーは何ですか?
約3分
RSpecでPOSTリクエストのバリデーションエラー時に期待するHTTPステータスコードは何ですか?
約3分
RSpecのリクエストスペックで、テスト実行前にテストデータを準備するために使用するブロックは何ですか?
約3分
RSpecでPATCHリクエストのテストにおいて、レスポンスとデータベース両方の状態を確認する理由は何ですか?
約3分
Railsで記事を削除すると同時に関連するコメントも削除される仕組みは何と呼ばれますか?
約3分
RSpecでPOSTリクエストのテストにおいて、データベースのレコード数が1つ増加することを確認するために使用するマッチャーは何ですか?
約3分
RSpecでPATCHリクエストの異常系テストにおいて、更新前の値を保存しておく目的は何ですか?
約3分
RSpecでPOSTリクエストの異常系テストにおいて、無効なデータでレコードが作成されないことを確認するマッチャーは何ですか?
約3分
RSpecでPOSTリクエストが成功した場合に期待するHTTPステータスコードは何ですか?
約3分
RSpecでリクエストスペックを作成する際、テストファイルに必ず含める必要がある`type`オプションの値は何ですか?
約3分
RSpecで既存データの更新をテストする際に、データベースから最新の状態を取得するために使用するメソッドは何ですか?
約3分
存在しない記事を削除しようとした場合のテストで期待するHTTPステータスコードは何ですか?
約3分
以下のコードで`Article.exists?(article.id)`が`false`を返すことをテストする目的は何ですか? ```ruby it '記事を削除できる' do delete "/articles/#{article.id}" expect(Article.exists?(article.id)).to be false end ```
約3分
RSpecで複数の状態変化を同時に検証する際に使用する構文は何ですか?
約3分
💡 学習のコツ
1
問題を順番に解く
基礎から応用へと段階的に構成されているため、順番に取り組むことをお勧めします
2
解説をしっかり読む
正解・不正解に関わらず、解説を読んで理解を深めましょう
3
復習で定着させる
間違えた問題は後日再チャレンジして、知識の定着を確認しましょう
コース
RSpec 全体を見る次のトピック
RSpecの基本プレミアムプランでは、進捗管理、間違えた問題の自動復習リスト、詳細な解説動画など、 より充実した学習体験をご利用いただけます。