generating-test-doubles
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
- Dependency Analysis: Claude analyzes the code to identify dependencies that need to be replaced with test doubles.
- Test Double Generation: Based on the dependencies and specified testing framework, Claude generates appropriate test doubles (mocks, stubs, spies, or fakes).
- 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:
- Analyze the
dataService.jsfile to identify thefetchDatafunction and its dependencies. - 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:
- Analyze
userService.jsand identify theNotificationServicedependency. - Generate a Sinon stub for
NotificationService, enabling you to control its behavior during testing ofuserService.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-generatorCopy and paste this command in Claude Code to install this skill
GitHub 仓库
Related Skills
sglang
MetaSGLang 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.
evaluating-llms-harness
TestingThis 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.
webapp-testing
TestingThis 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.
business-rule-documentation
MetaThis 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.
