mcpField
T
test-data-generation

test-data-generation

github.com/aj-geddesテスト・品質373498 回インストール34 週間前に更新
リポジトリ

test-data-generation について

自動テストや開発向けに、現実的で一貫性のあるテストデータを生成するスキルです。再利用可能なファクトリー、フィクスチャ、ビルダーを使い、境界値や関連データを含むシナリオを作成できます。

主な機能

  1. 01再利用可能なデータファクトリー
  2. 02複雑なオブジェクト向けビルダー
  3. 03統合テスト用フィクスチャ
  4. 04現実的で一意な値
  5. 05境界値・エッジケースデータ

活用シーン

  1. 01統合テスト用フィクスチャの作成
  2. 02開発用データベースのシード
  3. 03関連するテストレコードの生成
  4. 04境界値や特殊な入力のテスト

インストール

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

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill test-data-generation

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
builder-pattern-for-complex-objects.md
factory-pattern-for-test-data.md
fixtures-for-integration-tests.md
realistic-data-generation.md
scripts/
scaffold-tests.sh
templates/
test-template.js

詳細

テストデータ生成

目次

概要

テストデータ生成では、自動テスト用の現実的で一貫性があり、保守しやすいテストデータを作成します。適切に設計されたテストデータは、テストの壊れやすさを軽減し、読みやすさを向上させ、多様なテストシナリオを作りやすくします。

使用する場面

  • 統合テスト用のフィクスチャを作成する
  • 開発用データベースに使うフェイクデータを生成する
  • 複雑な関連を持つテストデータを構築する
  • テスト用の現実的なユーザー入力を作成する
  • テストデータベースに初期データを投入する
  • エッジケースや境界値を生成する
  • 再利用可能なテストデータファクトリーを構築する

クイックスタート

最小限の動作例:

// tests/factories/userFactory.js
const { faker } = require("@faker-js/faker");

class UserFactory {
  static build(overrides = {}) {
    return {
      id: faker.string.uuid(),
      email: faker.internet.email(),
      firstName: faker.person.firstName(),
      lastName: faker.person.lastName(),
      age: faker.number.int({ min: 18, max: 80 }),
      phone: faker.phone.number(),
      address: {
        street: faker.location.streetAddress(),
        city: faker.location.city(),
        state: faker.location.state(),
        zip: faker.location.zipCode(),
        country: "USA",
      },
      role: "user",
      isActive: true,
      createdAt: faker.date.past(),
      ...overrides,
    };
  }
// ... (see reference guides for full implementation)

リファレンスガイド

詳細な実装は references/ ディレクトリにあります。

ガイド内容
テストデータのファクトリーパターンテストデータのファクトリーパターン
複雑なオブジェクトのビルダーパターン複雑なオブジェクトのビルダーパターン
統合テスト用フィクスチャ統合テスト用フィクスチャ
現実的なデータ生成現実的なデータ生成

ベストプラクティス

✅ 推奨事項
  • 現実的なデータには Faker ライブラリを使用する
  • よく使うオブジェクトには再利用可能なファクトリーを作成する
  • オーバーライドで柔軟に設定できるファクトリーにする
  • 必要に応じて一意の値(メールアドレス、ID)を生成する
  • 複雑なオブジェクトの構築にはビルダーを使用する
  • 統合テストのセットアップ用にフィクスチャを作成する
  • エッジケース(空文字列、null、境界値)を生成する
  • 可能な限りテストデータの決定性を保つ
❌ 避けるべきこと
  • テストデータを複数箇所にハードコードする
  • テストで本番データを使用する
  • 再現可能なテストで真にランダムなデータを生成する
  • 過度に複雑なファクトリー階層を作成する
  • データの関連や制約を無視する
  • 単純なテストに大量のデータセットを生成する
  • 生成したデータのクリーンアップを忘れる
  • すべてのテストで同じテストデータを使用する

コメント