コントローラテスト

中級
19
1時間54分

RSpecのコントローラテストに関する練習問題

RSpecコースの一部として、コントローラテストに関する実践的な練習問題を19問用意しています。 基礎から応用まで段階的に学習できるよう構成されています。

学習を開始する準備ができました

下記の練習問題から始めて、段階的にスキルアップしていきましょう

rspec icon

練習問題一覧 (19問)

問題 1

RSpecでPATCHリクエストのテストにおいて、無効なデータで更新に失敗した場合に期待するHTTPステータスコードは何ですか?

問題 2

RSpecで削除処理をテストする際、データベースの件数変化を確認するために使用するマッチャーは何ですか?

問題 3

RSpecでHTTPリクエストをシミュレートし、コントローラの動作をテストするためのテスト手法は何と呼ばれますか?

問題 4

以下のテストで、`let`の代わりに`let!`を使用する理由は何ですか? ```ruby let!(:article) { Article.create(title: "テスト記事") } it '記事を削除できる' do expect { delete "/articles/#{article.id}" }.to change(Article, :count).by(-1) end ```

問題 5

DELETEリクエストで記事の削除が成功した場合、通常返されるHTTPステータスコードは何ですか?

問題 6

RSpecのリクエストスペックでHTTPステータスコードが200であることを確認するために使用するマッチャーは何ですか?

問題 7

RSpecでPOSTリクエストのバリデーションエラー時に期待するHTTPステータスコードは何ですか?

問題 8

RSpecのリクエストスペックで、テスト実行前にテストデータを準備するために使用するブロックは何ですか?

問題 9

RSpecでPATCHリクエストのテストにおいて、レスポンスとデータベース両方の状態を確認する理由は何ですか?

問題 10

Railsで記事を削除すると同時に関連するコメントも削除される仕組みは何と呼ばれますか?

問題 11

RSpecでPOSTリクエストのテストにおいて、データベースのレコード数が1つ増加することを確認するために使用するマッチャーは何ですか?

問題 12

RSpecでPATCHリクエストの異常系テストにおいて、更新前の値を保存しておく目的は何ですか?

問題 13

RSpecでPOSTリクエストの異常系テストにおいて、無効なデータでレコードが作成されないことを確認するマッチャーは何ですか?

問題 14

RSpecでPOSTリクエストが成功した場合に期待するHTTPステータスコードは何ですか?

問題 15

RSpecでリクエストスペックを作成する際、テストファイルに必ず含める必要がある`type`オプションの値は何ですか?

問題 16

RSpecで既存データの更新をテストする際に、データベースから最新の状態を取得するために使用するメソッドは何ですか?

問題 17

存在しない記事を削除しようとした場合のテストで期待するHTTPステータスコードは何ですか?

問題 18

以下のコードで`Article.exists?(article.id)`が`false`を返すことをテストする目的は何ですか? ```ruby it '記事を削除できる' do delete "/articles/#{article.id}" expect(Article.exists?(article.id)).to be false end ```

問題 19

RSpecで複数の状態変化を同時に検証する際に使用する構文は何ですか?

💡 学習のコツ

  • • 順番に取り組むことで、段階的に理解を深めることができます
  • • 間違えた問題は解説をしっかり読んで理解しましょう
  • • 全問題完了後、もう一度チャレンジして定着を確認しましょう

📚 学習の進め方

1

問題を順番に解く

基礎から応用へと段階的に構成されているため、順番に取り組むことをお勧めします

2

解説をしっかり読む

正解・不正解に関わらず、解説を読んで理解を深めましょう

3

復習で定着させる

間違えた問題は後日再チャレンジして、知識の定着を確認しましょう

次のトピック

RSpecの基本

さらに効果的な学習を

プレミアムプランでは、進捗管理、間違えた問題の自動復習リスト、詳細な解説動画など、 より充実した学習体験をご利用いただけます。