Back to Skills

Generating Test Doubles

jeremylongshore
Updated Today
22 views
927
113
927
View on GitHub
Metatestingautomation

About

This skill automatically generates test doubles like mocks and stubs for unit testing by analyzing code dependencies. It supports popular frameworks like Jest and Sinon to help isolate code during testing. Developers can trigger it by requesting test double generation or using the `/gd` command.

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-skills/tree/main/skill-adapter

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

GitHub 仓库

jeremylongshore/claude-code-plugins-plus-skills
Path: backups/plugin-enhancements/plugin-backups/test-doubles-generator_20251020_005635/skills/skill-adapter
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

Algorithmic Art Generation

Meta

This skill helps developers create algorithmic art using p5.js, focusing on generative art, computational aesthetics, and interactive visualizations. It automatically activates for topics like "generative art" or "p5.js visualization" and guides you through creating unique algorithms with features like seeded randomness, flow fields, and particle systems. Use it when you need to build reproducible, code-driven artistic patterns.

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