Rspecの書き方-その1(matcher)
RspecとはBDD(Test Driven)のテストフレームワーク
BDD(Behavior Driven Development)とはTDD(test Driven Development)テスト駆動開発から派生したテストフレームワーク。
レッド:動作しないテストを作成する。 グリーン:テスト動作させる。(1番始めはシンプルに期待する値をそのままreturnで返えしてテスト自体が機能しているか確認する) リファクタリング:グリーンが出たらコードの重複などを整理してシンプルにする。
BDD/TDDについて詳しくは以下から いまさら聞けないTDD/BDD超入門(2):TDD/BDDの思想とテスティングフレームワークの関係を整理しよう (1/3) - @IT
Exapmle
以下のようなメソッドを用意する。
def add(a, b) return a + b end
expect(add(1,2)).to_be←matcher ↑ テストしたいメソッドと引数
結果が5である
expect(add(2, 3)).to eq(5)
結果が5ではない
expect(add(2, 3)).not_to eq(5)
結果が真偽値
expect(add(2, 3)).to be true
結果が10以下
expect(add(2, 3)).to be < 10
結果が1から10の間
expect(add(2, 3)).to be_between(1, 10).inclusive
Matcher一覧