Spekta
テストコードから仕様書を生成するツールチェイン
CLI コマンド
spekta annotate
Annotator プラグインを実行してテストファイルに [spekta:*] コメントを自動追加するコマンド。
annotator が設定されていない場合
何も処理されずに終了すること
- annotator 設定のない fixture で spekta annotate を実行する
- エラーなく完了する
spekta build
annotate + render を一括実行し、テストコードから仕様書を生成するコマンド。
spekta check
テストファイルの [spekta:*] アノテーションを構文チェックするコマンド。
正しいアノテーションの場合
全ファイルが passed になること
- vitest fixture で spekta check を実行する
- 終了コードが 0 である
- passed と表示される
ページ数とセクション数が表示されること
- vitest fixture で spekta check を実行する
- page と section の数が表示される
spekta doctor
プロジェクトの環境と設定を診断するコマンド。
Node.js のバージョンを表示すること
プロジェクトディレクトリで実行した場合
.spekta.yml が見つかること
target_dir が見つかること
spekta init
プロジェクトの初期設定ファイルを生成するコマンド。
.spekta.yml が存在しない場合
.spekta.yml と .spekta/ が生成されること
- 空のディレクトリで spekta init を実行する
- .spekta.yml が生成される
- .spekta/ ディレクトリが生成される
- 完了メッセージが出力される
生成された .spekta.yml がコメントアウトされていること
- spekta init を実行する
- .spekta.yml の内容がコメントアウトされている
.spekta.yml が既に存在する場合
エラーで終了すること
- .spekta.yml が存在するディレクトリで spekta init を実行する
- エラーメッセージが出力される
spekta render
テストファイルの [spekta:*] コメントを読み取ってドキュメントを生成するコマンド。
Web Exporter の場合
/{pageType}/{pageTitle}/ のディレクトリ構造で HTML が生成されること
- .spekta/web/ 配下にページディレクトリが存在する
- 各ページに index.html が含まれる
index.html がリダイレクトすること
- ルートの index.html を読み込む
- meta refresh によるリダイレクトが設定されている
HTML にページタイトルが含まれること
- 生成された HTML を読み込む
- タイトル要素が存在する
Markdown Exporter の場合
.md ファイルが生成されること
- .spekta/markdown/ 配下のファイルを確認する
- .md ファイルが 1 つ以上存在する
Markdown にページタイトルが h1 として含まれること
- 生成された Markdown を読み込む
- h1 見出しが存在する
spekta web:dev
Web Exporter の dev サーバー。ファイル変更を監視し、自動リビルドとライブリロードを提供する。