Back to Skills

generating-test-doubles

jeremylongshore
Updated Today
85 views
409
51
409
View on GitHub
Metatestingautomation

About

This Claude skill automatically generates test doubles like mocks, stubs, spies, and fakes for unit testing. It analyzes code dependencies and creates appropriate doubles for frameworks such as Jest or Sinon. Use it when you need to isolate code units for testing by triggering with `/gen-doubles` or a direct request.

Documentation

Overview

This skill empowers Claude to streamline unit testing by automatically generating test doubles (mocks, stubs, spies, and fakes). It analyzes the code under test, identifies dependencies, and creates the necessary test doubles, significantly reducing the time and effort required to write effective unit tests.

How It Works

  1. Dependency Analysis: Claude analyzes the code to identify dependencies that need to be replaced with test doubles.
  2. Test Double Generation: Based on the dependencies and specified testing framework, Claude generates appropriate test doubles (mocks, stubs, spies, or fakes).
  3. Code Insertion: Claude provides the generated test double code, ready for integration into your unit tests.

When to Use This Skill

This skill activates when you need to:

  • Create mocks for external API calls in a unit test.
  • Generate stubs for service dependencies to control their behavior.
  • Implement spies to track interactions with real objects during testing.

Examples

Example 1: Generating Mocks for API Calls

User request: "Generate mocks for the fetchData function in dataService.js using Jest."

The skill will:

  1. Analyze the dataService.js file to identify the fetchData function and its dependencies.
  2. Generate a Jest mock for fetchData, allowing you to simulate API responses.

Example 2: Creating Stubs for Service Dependencies

User request: "Create stubs for the NotificationService in userService.js using Sinon."

The skill will:

  1. Analyze userService.js and identify the NotificationService dependency.
  2. Generate a Sinon stub for NotificationService, enabling you to control its behavior during testing of userService.js.

Best Practices

  • Framework Selection: Specify the testing framework you are using (e.g., Jest, Sinon) for optimal test double generation.
  • Code Context: Provide the relevant code snippets or file paths to ensure accurate dependency analysis.
  • Test Double Type: Consider the purpose of the test double. Use mocks for behavior verification, stubs for controlled responses, and spies for interaction tracking.

Integration

This skill integrates directly with your codebase by providing generated test double code snippets that can be easily copied and pasted into your unit tests. It supports popular testing frameworks and enhances the overall testing workflow.

Quick Install

/plugin add https://github.com/jeremylongshore/claude-code-plugins-plus/tree/main/test-doubles-generator

Copy and paste this command in Claude Code to install this skill

GitHub 仓库

jeremylongshore/claude-code-plugins-plus
Path: backups/skills-migration-20251108-070147/plugins/testing/test-doubles-generator/skills/test-doubles-generator
aiautomationclaude-codedevopsmarketplacemcp

Related Skills

sglang

Meta

SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.

View skill

evaluating-llms-harness

Testing

This Claude Skill runs the lm-evaluation-harness to benchmark LLMs across 60+ standardized academic tasks like MMLU and GSM8K. It's designed for developers to compare model quality, track training progress, or report academic results. The tool supports various backends including HuggingFace and vLLM models.

View skill

webapp-testing

Testing

This Claude Skill provides a Playwright-based toolkit for testing local web applications through Python scripts. It enables frontend verification, UI debugging, screenshot capture, and log viewing while managing server lifecycles. Use it for browser automation tasks but run scripts directly rather than reading their source code to avoid context pollution.

View skill

business-rule-documentation

Meta

This skill provides standardized templates for systematically documenting business logic and domain knowledge following Domain-Driven Design principles. It helps developers capture business rules, process flows, decision trees, and terminology glossaries to maintain consistency between requirements and implementation. Use it when documenting domain models, creating business rule repositories, or bridging communication between business and technical teams.

View skill