This skill uses the test-doubles-generator plugin to automatically create mocks, stubs, spies, and fakes for unit testing. It analyzes dependencies in the code and generates appropriate test doubles based on the chosen testing framework, such as Jest, Sinon, or others. Use this skill when you need to generate test doubles, mocks, stubs, spies, or fakes to isolate units of code during testing. Trigger this skill by requesting test double generation or using the `/gen-doubles` or `/gd` command.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: Generating Test Doubles
description: |
This skill uses the test-doubles-generator plugin to automatically create mocks, stubs, spies, and fakes for unit testing. It analyzes dependencies in the code and generates appropriate test doubles based on the chosen testing framework, such as Jest, Sinon, or others. Use this skill when you need to generate test doubles, mocks, stubs, spies, or fakes to isolate units of code during testing. Trigger this skill by requesting test double generation or using the /gen-doubles or /gd command.
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.
More by jeremylongshore
View allRabbitmq Queue Setup - Auto-activating skill for Backend Development. Triggers on: rabbitmq queue setup, rabbitmq queue setup Part of the Backend Development skill category.
evaluating-machine-learning-models: This skill allows Claude to evaluate machine learning models using a comprehensive suite of metrics. It should be used when the user requests model performance analysis, validation, or testing. Claude can use this skill to assess model accuracy, precision, recall, F1-score, and other relevant metrics. Trigger this skill when the user mentions "evaluate model", "model performance", "testing metrics", "validation results", or requests a comprehensive "model evaluation".
building-neural-networks: This skill allows Claude to construct and configure neural network architectures using the neural-network-builder plugin. It should be used when the user requests the creation of a new neural network, modification of an existing one, or assistance with defining the layers, parameters, and training process. The skill is triggered by requests involving terms like "build a neural network," "define network architecture," "configure layers," or specific mentions of neural network types (e.g., "CNN," "RNN," "transformer").
Oauth Callback Handler - Auto-activating skill for API Integration. Triggers on: oauth callback handler, oauth callback handler Part of the API Integration skill category.
