Back to Skills

test-generator

CuriousLearner
Updated Today
20 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.

Quick Install

Claude Code

Recommended
Plugin CommandRecommended
/plugin add https://github.com/CuriousLearner/devkit
Git CloneAlternative
git clone https://github.com/CuriousLearner/devkit.git ~/.claude/skills/test-generator

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

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

GitHub Repository

CuriousLearner/devkit
Path: skills/test-generator

Related Skills

content-collections

Meta

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

View skill

evaluating-llms-harness

Testing

This 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.

View skill

webapp-testing

Testing

This 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.

View skill

finishing-a-development-branch

Testing

This 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.

View skill