🦒 2024/01/22(月)
作成日: 2024/01/22
0

単体テストの考え方・使い方

  • テスト対象システムからメール送信など外部にデータ出力をするものをモックという
  • 逆にデータベースの内容を使ってテスト対象のメソッドの振る舞いを取得することをスタブという
  • モックは、道具としてのモックがあり、道具としてのモックはスタブの役割を使うので意味あいが異なる
  • モックは、検証と模範を行うが、スタブは検証は行わないで模範のみを行う
  • スタブに対して検証を行うと何を出力対象とするかの検証ではなく、どのようにの検証になるためリファクタリング耐性が落ちる
  • コマンド・クエリの分離を使う
  • 副作用があるものは返り値をなくしてvoid(コマンド)にする、副作用がないものは返り値を返す(クエリ)
  • コマンドはモックとなりクエリはスタブになる