mcpField
T
testing

testing

github.com/potetoテスト・品質571240 回インストール32 週間前に更新
リポジトリ

testing について

Noodle 開発者向けのテスト駆動スキルで、修正前に不具合を再現する手順を中心に説明します。ディレクトリ形式のフィクスチャテストと、テストの実行・確認・保守に使うコマンドを扱います。

主な機能

  1. 01不具合再現を先に行う手順
  2. 02ディレクトリ形式のテストフィクスチャ
  3. 03不具合フィクスチャのガイド
  4. 04テストとチェックのコマンド
  5. 05フィクスチャのハッシュと出力の保守

活用シーン

  1. 01コード変更前の不具合再現
  2. 02フィクスチャを使った回帰テストの追加
  3. 03単一パッケージや統合テストの実行
  4. 04フィクスチャとプロジェクト品質の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/poteto/noodle --skill testing

インストール後、Claude Code で/testingを入力して読み込まれたか確認します。

同梱ファイルreferences/fixtures.md

詳細

テスト

デフォルトではテスト駆動です。解決する前に、問題があることを実証します。

基本的なワークフロー:まずバグを再現

  1. 再現 — 問題が発生するシナリオを実行し、実際の動作を確認します
  2. 失敗するテストを書く — テストケースとして最小限の再現を作成します
  3. 失敗するテストをコミット — Skill(commit) を使用し、test: reproduce #issue-description のようなメッセージを指定します
  4. コードを修正 — 修正を試みるのはここからです
  5. 検証 — pnpm test を実行し、テストが成功することを確認します
  6. 修正をコミット — テストとは別のコミットにします

これはすべてのバグ修正に適用されます。失敗するテストはバグの存在を証明し、再発を防ぎます。

フィクスチャテスト

Noodle では testdata/ にディレクトリベースのフィクスチャを使用します。形式、ヘルパー API、コードパターンの詳細はreferences/fixtures.mdを参照してください。

新しいフィクスチャの作成
./scripts/scaffold-fixture.sh <package-dir> <fixture-name> [state-count]

生成された input.json/input.ndjson と expected.md に内容を入力してから、次を実行します。

pnpm fixtures:hash:sync
バグフィクスチャ

バグフィクスチャの形式(frontmatter のフィールド、期待されるエラーセクション、修正ワークフロー)の詳細は、references/fixtures.mdを参照してください。

主なコマンド

コマンド目的
pnpm testすべてのテストを実行
pnpm test:short統合テストをスキップ
pnpm checkローカル CI を一通り実行(テスト+vet+lint+フィクスチャ)
pnpm bugs既知のバグとしてマークされたフィクスチャを一覧表示
pnpm fixtures:loopループフィクスチャが期待値と一致するか検証
pnpm fixtures:loop:recordループフィクスチャの期待される出力を再生成
pnpm fixtures:hashフィクスチャの入力ハッシュを検証
pnpm fixtures:hash:syncフィクスチャの入力ハッシュを更新
pnpm vetgo vet を実行
pnpm lint:archアーキテクチャの lint(ファイルサイズ、レガシーパターン)

特定のテストの実行

# Single package
go test ./loop

# Single test
go test ./loop -run TestLoopDirectoryFixtures

# Bypass cache
go test -count=1 ./parse

# With race detector
go test -race ./...

# Verbose
go test -v ./tui

統合テスト

実行時間が長いテストや外部依存関係のあるテストでは、testing.Short() を使用します。

if testing.Short() {
    t.Skip("skipping integration test in short mode")
}

pnpm test:short はこれらのテストをスキップします。pnpm test はすべて実行します。

コメント