Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    getsentry

    testing-guidelines

    getsentry/testing-guidelines
    Coding
    535
    2 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Guide for writing tests. Use when adding new functionality, fixing bugs, or when tests are needed. Emphasizes integration tests, real-world fixtures, and regression coverage.

    SKILL.md

    Testing Guidelines

    Follow these principles when writing tests.

    Core Principles

    1. Mock External Services, Use Real Fixtures

    ALWAYS mock third-party network services. ALWAYS use fixtures based on real-world data.

    • Fixtures must be scrubbed of PII (use dummy data like foo@example.com, user-123)
    • Capture real API responses, then sanitize them
    • Never make actual network calls in tests

    2. Prefer Integration Tests Over Unit Tests

    Focus on end-to-end style tests that validate inputs and outputs, not implementation details.

    • Test the public interface, not internal methods
    • Unit tests are valuable for edge cases in pure functions, but integration tests are the priority
    • If refactoring breaks tests but behavior is unchanged, the tests were too coupled to implementation

    3. Minimize Edge Case Testing

    Don't test every variant of a problem.

    • Cover the common path thoroughly
    • Skip exhaustive input permutations
    • Skip unlikely edge cases that add maintenance burden without value
    • One representative test per category of input is usually sufficient

    4. Always Add Regression Tests for Bugs

    When a bug is identified, ALWAYS add a test that would have caught it.

    • The test should fail before the fix and pass after
    • Name it descriptively to document the bug
    • This prevents the same bug from recurring

    Note: Regression tests are for unintentional broken behavior (bugs), not intentional changes. Intentional feature removals, deprecations, or breaking changes do NOT need regression tests—these are design decisions, not defects.

    5. Cover Every User Entry Point

    ALWAYS have at least one basic test for each customer/user entry point.

    • CLI commands, API endpoints, public/exported functions
    • Test the common/happy path first
    • This proves the entry point works at all

    Note: "Entry point" means the public interface—exported functions, CLI commands, API routes. Internal/private functions are NOT entry points, even if they handle user-facing flags or options. Test entry points; internal functions get coverage through those tests.

    6. Tests Validate Before Manual QA

    Tests are how we validate ANY functionality works before manual testing.

    • Write tests first or alongside code, not as an afterthought
    • If you can't test it, reconsider the design
    • Passing tests should give confidence to ship

    Technical Guidelines

    File Organization

    • Co-locate tests with source files when possible
    • Use the project's standard test file naming convention

    Test Isolation

    Every test must:

    • Run independently without affecting other tests
    • Use temporary directories for file operations
    • Clean up resources after completion

    Pure Function Tests

    For pure functions without side effects, no special setup is needed—just test inputs and outputs directly.

    Checklist Before Submitting

    • New entry points have at least one happy-path test
    • Bug fixes (not intentional changes) include a regression test
    • External services are mocked with sanitized fixtures
    • Tests validate behavior, not implementation
    • No shared state between tests
    Recommended Servers
    Postman
    Postman
    EduBase
    EduBase
    Excel
    Excel
    Repository
    getsentry/sentry-mcp
    Files