コンテンツにスキップ

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 ビルドジョブが実行されず、ワークフローが停止する