モック(テストダブル)とは?
本物のオブジェクトのふりをするオブジェクトです。テストダブルと呼ばれる場合もあります。Rspecで言えばFactoryBotもモックの一つです。モックはデータベースにはアクセスをしないため処理速度は早いです。
テストダブル
1 |
double("user") |
検証機能付きのダブル
こちらの方が場合によっては通常のテストダブルよりも安全です。
1 |
instance_double("User", name: "テストユーザー") |
モック化の危険性
もし、サードパーティ製のライブラリまでモック化してしまった場合はもし、そのライブラリに変更が入ってしまった場合はエラー報告をしてくれません。
スタブとは?
オブジェクトのメソッドをオーバーライドして事前に決められた値を返すダミーのメソッドです。DBやネットワークを使う処理が対象となります。
この記事へのコメントはありません。