自分用チートシート
- rspecで使うテストファイルのファイル名は、 元ファイル名_spec.rb とする
- before :all do ~ end
- describe全体を実行する前に毎回実行されるブロック。変数への格納や
- before :each do ~ end
- 各itテスト毎に実行されるブロック。
- describe foo do ~ end
- テストを行う対象(クラス、メソッド)でまとめる。
- ex)describe Array do ~
- context bar do ~ end
- テスト対象の状態や状況を記述する。
- ex) context '空の場合' do ~
- ex) context '要素が一つの場合' do ~
- it 'foo' do ~ end
- テストの具体的な内容を書く。
実テストコード
- expect(foo).to eq bar(同じ値になるか)
- expect(foo).not_to eq bar(!=)
- expect(foo).to be bar (同じオブジェクト(同一インスタンス)かどうか)
- expect(foo).to be >= bar (大小比較)
- expect(foo).to match /.*/ (=~)
- expect(foo).to be true(trueが返っているか)
- expect(foo).to be_truthy(nil 又は false 以外が返っているか)
- expect(foo).to be false(falseが返っているか)
- expect(foo).to be_falsy(nil 又は false が返っているか)
- expect(foo).to be_nil(nilが返っているか)
subject{ Hoge.new }
- 以下、インスタンスオブジェクトを subjectで表記できる。