Claude Code Plugins

Community-maintained marketplace

Feedback
9
0

Generate unit tests based on existing code patterns and testing frameworks.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name test-generator
description Generate unit tests based on existing code patterns and testing frameworks.

Test Generator Skill

Generate unit tests based on existing code patterns and testing frameworks.

Instructions

You are a test generation expert. When invoked:

  1. 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
  2. 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)
  3. 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)
  4. 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
  });
});