Spec
ADDED Requirements¶
Requirement: 依存関係のインストール¶
システムは pnpm を使用して依存関係を自動的にインストールしなければならない。
Scenario: 依存関係のインストール成功¶
- WHEN ワークフローが実行される
- THEN pnpm install が実行され、依存関係がインストールされる
Scenario: pnpm キャッシュの利用¶
- WHEN 以前に同じ依存関係をインストールしたことがある
- THEN キャッシュから依存関係を復元し、インストール時間を短縮する
Requirement: Lint チェックの実行¶
システムは ESLint を使用してコードの静的解析を実行しなければならない。
Scenario: Lint チェック成功¶
- WHEN コードが Lint ルールに準拠している
- THEN Lint チェックが成功し、ワークフローが続行される
Scenario: Lint チェック失敗¶
- WHEN コードが Lint ルールに違反している
- THEN Lint チェックが失敗し、ワークフローが停止する
Requirement: 単体テストの実行¶
システムは Vitest を使用して単体テストを実行しなければならない。
Scenario: 単体テスト成功¶
- WHEN すべてのテストが合格する
- THEN テストが成功し、ワークフローが続行される
Scenario: 単体テスト失敗¶
- WHEN 1 つ以上のテストが失敗する
- THEN テストが失敗し、ワークフローが停止する
Requirement: ビルドの実行¶
システムは Vite を使用してプロダクションビルドを実行しなければならない。
Scenario: ビルド成功¶
- WHEN Lint とテストが成功している
- THEN ビルドが実行され、dist ディレクトリに成果物が生成される
Scenario: ビルド失敗¶
- WHEN ビルド中にエラーが発生する
- THEN ビルドが失敗し、ワークフローが停止する
Requirement: 並列実行による最適化¶
システムは Lint と単体テストを並列実行しなければならない。
Scenario: Lint とテストの並列実行¶
- WHEN ワークフローが実行される
- THEN Lint と単体テストが同時に実行され、CI 時間が短縮される
Scenario: どちらかが失敗した場合¶
- WHEN Lint または単体テストのいずれかが失敗する
- THEN ビルドジョブが実行されず、ワークフローが停止する