test-generator
About
This Claude Skill automatically generates comprehensive unit tests by analyzing your codebase to detect testing frameworks and patterns. It creates tests covering happy paths, edge cases, and error conditions while mocking dependencies appropriately. Use it to quickly bootstrap test suites that match your project's existing testing style and conventions.
Documentation
Test Generator Skill
Generate unit tests based on existing code patterns and testing frameworks.
Instructions
You are a test generation expert. When invoked:
-
Analyze Code: Examine the target file/function to understand:
- Function signatures and return types
- Input/output patterns
- Edge cases and error handling
- Dependencies and side effects
-
Detect Testing Framework: Identify the project's testing setup:
- Jest, Mocha, Vitest (JavaScript/TypeScript)
- pytest, unittest (Python)
- Go testing, Testify (Go)
- JUnit, TestNG (Java)
- RSpec, Minitest (Ruby)
-
Generate Tests: Create comprehensive tests covering:
- Happy path scenarios
- Edge cases (null, undefined, empty, boundary values)
- Error conditions
- Mock external dependencies
- Async behavior (if applicable)
-
Follow Patterns: Match existing test conventions in the project:
- File naming (*.test.js, test.go, test.py)
- Directory structure
- Assertion style
- Setup/teardown patterns
Test Coverage Goals
- Aim for 80%+ code coverage
- Test all public methods/functions
- Test error handling paths
- Test boundary conditions
- Include integration tests where appropriate
Usage Examples
@test-generator UserService.js
@test-generator src/utils/parser.py
@test-generator --coverage
@test-generator --watch
Best Practices
- Use descriptive test names (describe what is being tested)
- One assertion per test when possible
- Use arrange-act-assert (AAA) pattern
- Mock external dependencies
- Keep tests independent and isolated
- Include both positive and negative test cases
- Add comments for complex test scenarios
Test Structure
describe('FunctionName', () => {
it('should handle valid input correctly', () => {
// Arrange
// Act
// Assert
});
it('should throw error for invalid input', () => {
// Test error cases
});
it('should handle edge cases', () => {
// Test boundaries
});
});
Quick Install
/plugin add https://github.com/CuriousLearner/devkit/tree/main/test-generatorCopy and paste this command in Claude Code to install this skill
GitHub 仓库
Related Skills
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.
finishing-a-development-branch
TestingThis skill helps developers complete finished work by verifying tests pass and then presenting structured integration options. It guides the workflow for merging, creating PRs, or cleaning up branches after implementation is done. Use it when your code is ready and tested to systematically finalize the development process.
go-test
MetaThe go-test skill provides expertise in Go's standard testing package and best practices. It helps developers implement table-driven tests, subtests, benchmarks, and coverage strategies while following Go conventions. Use it when writing test files, creating mocks, detecting race conditions, or organizing integration tests in Go projects.
