test-data-generation

MUmerRazzaq's avatarfrom MUmerRazzaq

Provides patterns and examples for generating test data using factory libraries. Use this skill when you need to create realistic and maintainable test data for your application. It covers factory patterns (e.g., Factory Boy for Python, Polly.js for JavaScript), handling relationships between models, using traits for data variations, sequence generation for unique values, and cleanup strategies. Trigger this skill for tasks involving test fixtures, data seeding for tests, or factory implementation.

⭐0stars🔀0forks📁View on GitHub🕐Updated Dec 25, 2025

When & Why to Use This Skill

This Claude skill streamlines the creation of high-quality, maintainable test data by providing expert patterns and examples for factory libraries like Factory Boy and Polly.js. It helps developers automate the generation of realistic datasets, manage complex model relationships, and implement efficient data cleanup strategies, ultimately improving test reliability and reducing boilerplate code in automated testing workflows.

Use Cases

  • Automating the generation of realistic user profiles and associated metadata for unit and integration tests.
  • Implementing factory patterns to manage complex database relationships, such as one-to-many or many-to-many associations, during test setup.
  • Creating diverse data variations using traits to test edge cases and different application states without manual data entry.
  • Seeding test databases with unique, sequence-based values to prevent data collisions and ensure test isolation.
  • Developing efficient data cleanup strategies to maintain a clean testing environment and prevent side effects between test runs.
nametest-data-generation
description"Provides patterns and examples for generating test data using factory libraries. Use this skill when you need to create realistic and maintainable test data for your application. It covers factory patterns (e.g., Factory Boy for Python, Polly.js for JavaScript), handling relationships between models, using traits for data variations, sequence generation for unique values, and cleanup strategies. Trigger this skill for tasks involving test fixtures, data seeding for tests, or factory implementation."

Test Data Generation

Overview

This skill provides guidance and reusable patterns for creating robust and maintainable test data using factory libraries. It focuses on common patterns used in modern testing workflows, with examples primarily for Python (using factory_boy) and JavaScript (using polly.js).

Following these patterns helps create tests that are easier to read, write, and maintain.

Core Concepts

The main workflow is to define factories for your data models and then use them in your tests to create instances of those models.

This skill is organized by topic. Refer to the relevant document for detailed patterns and examples.

1. Basic Factory and Trait Patterns

For defining basic factories and creating variations using traits (e.g., an active user vs. a suspended user). This is the best place to start.

See references/factory-patterns.md for detailed examples.

2. Handling Relationships

For creating data with relationships, such as a user who has many posts, or posts that belong to a category (one-to-many, many-to-one, many-to-many).

See references/relationship-patterns.md for detailed examples.

3. Unique Values and Realistic Data

For ensuring data uniqueness using sequences and for generating realistic-looking data (names, emails, addresses) using Faker.

See references/sequence-and-faker.md for detailed examples.

4. Persistence Strategies

For understanding the difference between in-memory object generation and creating records in a test database.

See references/persistence.md for detailed examples.

5. Data Cleanup

For strategies on how to clean up test data between test runs to ensure test isolation.

See references/cleanup.md for detailed examples.