テストについての備忘録③
テストについてのまとめ第3回目です。
マッチャとは
エクスペクテーションの中で、テストが成功する条件を示す。
期待値と実際の値を比較して、一致したor一致しなかったという結果を返すオブジェクト
expect(...).to xxxのtoの直後に出てくるxxxの部分
(toはマッチャではなくマッチャの実行結果からテストをパスさせるかどうかを判断するRSpecメソッド)
よく使うメソッド
<eq>
期待値と実際の値が等しいかどうか検証
<be_xxx>
「?」で終わり、戻り値がtrue/falseになるメソッドをbe_xxxのような形で検証
<change + from/to/by>
expect{X}.to change{Y}.from(A).to(B)→「XするとYがAからBに変わる事を期待する」
「by」を使うと1個減るまたは増える事を検証
<配列+include>
配列に〜が含まれている事を検証
<valid>
バリデーションされているか検証
be_validで全てのバリデーションをクリアするか検証
なお、今回の記事は下記のブログを参考にさせて頂きました。
使えるRSpec入門・その2「使用頻度の高いマッチャを使いこなす」