Back to Skills

test-generator

CuriousLearner
Updated Yesterday
14 views
16
3
16
View on GitHub
Metatesting

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:

  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
  });
});

Quick Install

/plugin add https://github.com/CuriousLearner/devkit/tree/main/test-generator

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

GitHub 仓库

CuriousLearner/devkit
Path: skills/test-generator

Related Skills