アプリケーション名 文書名 作成者 作成日 TaskShareApp 単体テスト仕様書 むらぴょん 2025/5/20 分野 テスト対象 テスト内容 バックエンド AuthService / SignUp bcrypt.hash が呼ばれていることを確認する バックエンド AuthService / SignUp userRepo.create が呼ばれていることを確認する バックエンド AuthService / SignUp userRepo.save が呼ばれていることを確認する バックエンド AuthService / SignUp バックエンド AuthService / SignUp バックエンド AuthService / SignUp バックエンド AuthService / SignUp バックエンド AuthService / SignUp バックエンド AuthService / SignUp バックエンド AuthService / SignUp バックエンド AuthService / SignUp バックエンド AuthService / SignUp バックエンド AuthController / SignUp バックエンド AuthController / SignUp バックエンド AuthController / SignUp バックエンド AuthController / SignUp signUp メソッドの戻り値が user オブジェクトであることを 確認する userRepo.save が error.code = '23505' を投げることを確認 する signUp 呼び出し時に ForbiddenException が throw される ことを確認する 想定結果 引数が (dto.password, 12) で渡されていることを期待する 渡された引数が dto の値+ hashedPassword であることを 期待する user オブジェクトであることを期待する 2025/8/29 error.code = '23505' を投げることを期待する 2025/8/29 ForbiddenException が throw されることを期待する 2025/8/29 ます」であることを期待する userRepo.save が '23505' 以外のエラーを投げることを確認 userRepo.save が '23505' 以外のエラーを投げることを期待 する する userRepo.create, userRepo.save, bcrypt.hash が正しい回数 呼ばれているか確認する save 後の戻り値が正しく返却されるか確認する controller.signUp(dto) を呼ぶと、authService.signUp が一 度だけ呼ばれるか確認する controller.signUp(dto)の呼び出し前後でdto の改変をしてい ないことを確認する 2025/8/29 2025/8/29 それぞれが1回のみ呼ばれていることを期待する 2025/8/29 いることを期待する save 後の戻り値が想定するオブジェクトと一致することを期 待する authService.signUp が一度だけ呼ばれることを期待する authService.signUp の戻り値(例: user or { id, email, ... }) authService.signUp の戻り値(例: user or { id, email, ... }) をそのまま返す確認する 2025/8/29 そのまま同じエラーが throw されることを期待する bcrypt.hash の戻り値が正しく hashedPassword として保存 bcrypt.hash の戻り値が hashedPassword として保存されて されているか確認する 2025/8/29 2025/8/29 ます」であることを確認する とを確認する 2025/8/29 戻り値として user オブジェクトを返すことを期待する 例外メッセージが「このメールアドレスは既に登録されてい 例外メッセージが「このメールアドレスは既に登録されてい signUp 呼び出し時にそのまま同じエラーが throw されるこ 実施日 をそのまま返すことを期待する signUp 呼び出し前後で dto が変更されていないこと 2025/8/29 2025/8/29 2025/10/5 2025/10/5 2025/10/5 authService.signUp が ForbiddenException を投げたとき、 controller.signUp も同じ例外を reject し、 バックエンド AuthController / SignUp バックエンド AuthController / SignUp controller.signUp も同じ例外を reject し、メッセージが一致 (rejects.toThrow(ForbiddenException)) することを確認する 返されるメッセージが一致することを期待する authService.signUp が汎用的な Error を投げたとき、 controller.signUp も同じエラーをそのまま投げること(変換 controller.signUp も同じエラーを投げることを確認する や握りつぶしをしない)を期待する 異常時に余計な呼び出しが発生していないことを確認する 失敗後に他のメソッドが呼ばれていないことを期待する バックエンド AuthController / SignUp 返却 shape の柔軟性を確認する バックエンド AuthController / SignUp デコレータの存在を確認する Service が追加フィールドを返しても Controller は素通しで 返すことを期待する @Post('signup') のメタ情報が付いていることを期待する 2025/10/5 2025/10/5 2025/10/5 2025/10/5 2025/10/5 備考
アプリケーション名 文書名 作成者 作成日 TaskShareApp 結合テスト仕様書 むらぴょん 2025/5/20 分野 テスト対象 テスト内容 想定結果 Validation の扱いを確認する (// 9) Validation の扱い(注意点) バックエンド AuthController / SignUp // - Controller 単体ユニットだと ValidationPipe は通常効 Controller 単体ユニットだと ValidationPipe は通常効かない かない // - バリデーションまで確認したいなら e2e で行うか、テ ストモジュールに pipe を明示適用する) ことを期待する 実施日 備考
分野 アプリケーション名 文書名 作成者 作成日 TaskShareApp 総合テスト仕様書 むらぴょん 2025/5/20 テスト対象 テスト内容 想定結果 実施日 備考