Perlがくしゅう帳(Rubyも)

プログラミングの勉強会の参加記録や学んだことなど。 twitter ID : @tomcha_で活動しています。 最近は主にPerl関連の勉強会やコミュニティに参加しています。移転前のブログはこちら->http://ruby.doorblog.jp/

Rubyテスト駆動覚書

自分用チートシート

  • 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 }