ユニットテスト設計用のドキュメント¶
このドキュメントは、ユニットテストの設計を考えるためのドキュメントであり、生成AIに読み込ませることを想定している。
- 検証対象の実装を読み込む。
- 次のユニットテストのプラクティスを読み込む。
- https://medium.com/@kaanfurkanc/unit-testing-best-practices-3a8b0ddd88b5
- https://learn.microsoft.com/en-us/dotnet/core/testing/unit-testing-best-practices
- 次の観点でテストケースを追加/改善する。
- ファイルの内容を変更したいとき、まずいくつかの変更内容を提案し、承諾を得てから変更する
- 外部への通信が発生する場合、パッケージのクライアントオブジェクトをモック化する
- 関数型プログラミングの場合、関数の入力値に応じた返却値を検証する
- クラスを使用している場合、コンストラクタやメソッドの入力値に応じた返却値を検証する
- パブリックな処理をテストすることで、プライベートな処理も間接的に検証できるため、プライベートな処理内部のテストコードは不要である
- テストケース名は
should return <返却値> when <入力値>とし、検証対象のコードは変更しないこと
- 追加/改善したテストケースに関して、次のような表を作成する。
| テストスイート | 種別 | テストケース名 | テスト内容の概要 |
|---|---|---|---|
| foo | 正常系 | should return user when userId is valid | 正しいUserIdだった場合にUserを返却すること |
| bar | 異常系 | should throw error when userId is invalid | 不正なUserIdだった場合にUserをスローすること |
- ローカル環境でテストコードを実行する必要はない。