コンテンツにスキップ

ユニットテスト設計用のドキュメント

このドキュメントは、ユニットテストの設計を考えるためのドキュメントであり、生成 AI に読み込ませることを想定している。

  1. 検証対象の実装を読み込む。
  2. 次のユニットテストのプラクティスを読み込む。
  1. 次の観点でテストケースを追加/改善する。
  • ファイルの内容を変更したいとき、まずいくつかの変更内容を提案し、承諾を得てから変更する
  • 外部への通信が発生する場合、パッケージのクライアントオブジェクトをモック化する
  • 関数型プログラミングの場合、関数の入力値に応じた返却値を検証する
  • クラスを使用している場合、コンストラクタやメソッドの入力値に応じた返却値を検証する
  • パブリックな処理をテストすることで、プライベートな処理も間接的に検証できる。

    そのため、プライベートな処理内部のテストコードは不要である。

  • パブリック関数内でパブリック関数を呼び出している場合、呼び出されたパブリック関数はモック化する。

    ただし、統合テストの場合はモック化する必要もない。

  • テストケース名は should return <返却値> when <入力値> とする。

    また、検証対象のコードは変更しない。

  1. 追加/改善したテストケースについて、次のような表を作成する。
テストスイート 種別 テストケース名 テスト内容の概要
foo 正常系 should return user when userId is valid 正しい UserId だった場合に User を返却すること
bar 異常系 should throw error when userId is invalid 不正な UserId だった場合に User をスローすること
  1. ローカルマシンでテストコードを実行する必要はない。