RSpecの基本

中級
82
8時間12分

RSpecのRSpecの基本に関する練習問題

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

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

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

rspec icon

練習問題一覧 (82問)

問題 1

以下のコードを実行した時の出力順序はどうなりますか? ```ruby let(:value) do puts 'A' 100 end it 'テスト' do puts 'B' expect(value).to eq(100) puts 'C' end ```

問題 2

`before`を使う主なメリットは何ですか?

問題 3

以下のRSpecテスト実行結果の意味として正しいのはどれですか? ``` 1 example, 0 failures ```

問題 4

以下のRSpecコードの空欄に入る適切なキーワードは何ですか? ```ruby RSpec.describe '足し算機能の検証' do ______ '引数を合計した数を返す' do expect(add(1, 1)).to eq(2) end end ```

問題 5

以下のテストが失敗した場合、エラーメッセージで表示される情報として正しいものはどれですか? ```ruby expect(2 * 4).to eq(9) ```

問題 6

GemfileにRSpecを開発・テスト環境でのみ使用するように設定する記述はどれですか?

問題 7

RSpecの特徴として最も適切なものはどれですか?

問題 8

次のうち、`context`で表現するのに最も適していない例はどれですか?

問題 9

`before`と`let`を併用する場合の適切な使い方はどれですか?

問題 10

`describe`ブロックを階層化する主なメリットはどれですか?

問題 11

RSpecでRailsモデルのテストファイルを作成する際、必ず最初に読み込む必要があるファイルは何ですか?

問題 12

RSpecでテストファイルとして認識されるファイル名の命名規則は何ですか?

問題 13

新しいRailsプロジェクトを作成する際、MinitestのファイルをスキップしてRSpecを使用するために指定するオプションは何ですか?

問題 14

`let`を使用する主な利点として**最も適切でない**ものはどれですか?

問題 15

RSpecで「実際の結果と期待する結果を比較する」処理を記述する際に使用する基本構文は何ですか?

問題 16

RSpecのテストにおいて、1つの`it`ブロックに記述する検証の推奨される数はどれですか?

問題 17

Gemfileに記載されたGemをインストールするコマンドは何ですか?

問題 18

RailsプロジェクトでRSpecを使うための専用Gemで、RailsとRSpecの橋渡しをしてくれるものは何ですか?

問題 19

RSpecでRailsモデルが有効な状態かどうかを確認するために使用するマッチャーは何ですか?

問題 20

`.rspec`ファイルで設定できる、テスト結果を詳細で読みやすい形式で表示するためのフォーマットオプションは何ですか?

問題 21

以下のコードの空欄に入る適切なブロックは何ですか? ```ruby RSpec.describe '計算機' do ______ '2足す2は4になる' do expect(2 + 2).to eq(4) end end ```

問題 22

以下のテストコードで、`let`で定義した値を使用するのに適切な記述はどれですか? ```ruby let(:user_name) { 'Alice' } it 'ユーザー名をテストする' do # ここに記述 end ```

問題 23

`let!`を使用する適切なケースはどれですか?

問題 24

RSpecの初期設定ファイルを生成するために実行するRailsジェネレーターコマンドは何ですか?

問題 25

RSpecでテスト対象の機能や関数をグループ化するために使用するキーワードは何ですか?

問題 26

RSpecで値が期待値と等しいことを検証するマッチャーは何ですか?

問題 27

RSpecの`let`メソッドの主な特徴として正しいものはどれですか?

問題 28

RSpecで`subject`を使用する主な目的は何ですか?

問題 29

`before`ブロック内で定義した変数をテストケース内で使用するには、どのような変数を使う必要がありますか?

問題 30

`subject`を使用しない場合と比較して、コードの保守性が向上する理由は何ですか?

問題 31

RSpecでテストケースを定義する際に使用するブロックで、テストの内容を日本語で説明できるものはどれですか?

問題 32

RSpecをRailsプロジェクトに導入するために最初に実行するコマンドはどれですか?

問題 33

Rubyプロジェクトで外部ライブラリ(Gem)を管理するために使用するファイルは何ですか?

問題 34

`describe`と`context`の適切な使い分けはどれですか?

問題 35

RSpecで個々のテストケースを定義するために使用するブロックは何ですか?

問題 36

Railsでモデルのテストを実行する際、なぜ開発環境とテスト環境の両方でマイグレーションを実行する必要がありますか?

問題 37

RSpecで「〜でないこと」を検証したい場合に使用する修飾子は何ですか?

問題 38

RSpecの最大の特徴の一つとして挙げられるのは何ですか?

問題 39

RSpecで「期待する動作」を明確に示すために使用する機能は何ですか?

問題 40

RSpecでテストが失敗した際のエラーメッセージに含まれない情報はどれですか?

問題 41

RSpecのテスト結果を階層的で読みやすい形式にするために`.rspec`ファイルに追加する設定はどれですか?

問題 42

RSpecを導入する際に削除すべき不要なディレクトリはどれですか?

問題 43

FactoryBotをより便利に使うために`spec/rails_helper.rb`に追加する設定はどれですか?

問題 44

`context`を使う主なメリットはどれですか?

問題 45

テストフレームワークを使用する最大のメリットは何ですか?

問題 46

以下のコードで、`puts`の出力は何回表示されますか? ```ruby RSpec.describe 'テスト' do before do puts 'テストの準備' end it 'テスト1' do expect(true).to be true end it 'テスト2' do expect(false).to be false end end ```

問題 47

以下のテスト実行結果から読み取れる情報として正しいものはどれですか? ``` 計算機 足し算 2足す2は4になる 1足す4は5になる 引き算 5引く3は2になる Finished in 0.00278 seconds 3 examples, 0 failures ```

問題 48

RSpecの`before`フックの主な目的は何ですか?

問題 49

`before`ブロック内でインスタンス変数を使う理由は何ですか?

問題 50

RailsプロジェクトでRSpecテストファイルを格納するディレクトリの名前は何ですか?

問題 51

複数のテストケースを効率的に整理するために、`it`ブロックと組み合わせて使用されるRSpecのブロックはどれですか?

問題 52

RSpecの`context`の主な目的は何ですか?

問題 53

`let`と`let!`の違いについて正しい説明はどれですか?

問題 54

以下のコードで使用されている`eq`は何と呼ばれる機能ですか? ```ruby expect(calculator.add(2, 3)).to eq(5) ```

問題 55

以下のようなテスト構造で、`context`が最も適している部分はどれですか? ```ruby RSpec.describe ShoppingCart do describe '#checkout' do # A: 商品が1つの場合 # B: 在庫が十分な場合 # C: カートが空の場合 end end ```

問題 56

名前付き`subject`の正しい書き方はどれですか?

問題 57

RSpecの`describe`ブロックの主な役割は何ですか?

問題 58

RSpecでテストが正しく動作しているか最初に確認するコマンドは何ですか?

問題 59

RSpecのテストファイルはどのディレクトリに配置する必要がありますか?

問題 60

Springを使ってRSpecを高速で実行するためのコマンドはどれですか?

問題 61

以下のテストコードで重複している部分はどれですか? ```ruby it 'テスト1' do greeter = Greeter.new expect(greeter.hello).to eq('Hello') end it 'テスト2' do greeter = Greeter.new expect(greeter.hello).not_to be_nil end ```

問題 62

RSpecで例外の発生を確認するテストを書く場合、どのマッチャーを使用しますか?

問題 63

インストールされたRSpecのバージョンを確認するコマンドはどれですか?

問題 64

以下のテストコードで大小関係を検証する際に使用されているマッチャーは何ですか? ```ruby expect(5).to be > 3 ```

問題 65

以下のRSpecコードを実行した場合の結果はどうなりますか? ```ruby RSpec.describe '計算機' do it '2足す2は5になる' do expect(2 + 2).to eq(5) end end ```

問題 66

RSpecのテストファイルでモデルのテストを書く際、モデルテスト専用の便利な機能を有効にするために指定するオプションは何ですか?

問題 67

RSpecで現在のテスト状況を確認するために実行するコマンドはどれですか?

問題 68

bundle installコマンドが成功した際に表示されるメッセージに含まれる文言はどれですか?

問題 69

RSpecで値が等しいかどうかを比較する際に使用するマッチャーは何ですか?

問題 70

以下のRSpecのコードで使用されているマッチャーは何ですか? ```ruby expect([1, 2, 3]).to include(2) ```

問題 71

`before`ブロックはいつ実行されますか?

問題 72

CIツールとRSpecを連携させる主な目的として適切でないものはどれですか?

問題 73

以下のコードで、`subject`はどの値を返しますか? ```ruby subject { User.new('Alice').greeting } ```

問題 74

新しいプロジェクトでGemfileを作成するコマンドは何ですか?

問題 75

以下のような`describe`の使い方として最も適切なものはどれですか?

問題 76

`it`ブロックの文字列部分に記述すべき内容として最も適切なのはどれですか?

問題 77

`context`と`subject`を組み合わせて使用するメリットは何ですか?

問題 78

以下のコードの構造で、個別のテストケースを定義するブロックはどれですか? ```ruby RSpec.describe 'サンプルテスト' do it '計算が正しいこと' do expect(2 + 3).to eq(5) end end ```

問題 79

以下のRSpecテストコードの実行結果はどうなりますか? ```ruby expect(3 + 2).to eq(5) ```

問題 80

メソッド単位でテストをグループ化する場合の正しい書き方はどれですか?

問題 81

以下のコードで、`number`が何回生成されるでしょうか? ```ruby let(:number) do puts '生成' 42 end it 'テスト1' do expect(number + number).to eq(84) end it 'テスト2' do expect(number).to eq(42) end ```

問題 82

複数の条件を組み合わせてテストを行う場合、RSpecではどのキーワードを使用しますか?

💡 学習のコツ

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

📚 学習の進め方

1

問題を順番に解く

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

2

解説をしっかり読む

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

3

復習で定着させる

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

前のトピック

コントローラテスト

次のトピック

マッチャー

さらに効果的な学習を

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