testing

Define language-agnostic testing principles and test design strategies.

1|Updated Feb 7, 2026
One-click install
npx skills add https://github.com/manolakis/agents-and-skills --skill testing-manolakis
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: testing
Source: https://github.com/manolakis/agents-and-skills/tree/main/.github/skills/testing
Command: npx skills add https://github.com/manolakis/agents-and-skills --skill testing-manolakis

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a comprehensive guide to writing effective, maintainable, and robust tests, ensuring code quality and reliability across any project.

Core Features & Use Cases

  • Universal Testing Principles: Covers language-agnostic concepts like Given-When-Then, test independence, and isolation.
  • Decision Trees: Helps determine the appropriate test type (Unit, Integration, Contract) and when to use test doubles.
  • Best Practices & Anti-Patterns: Details how to structure tests, handle errors, and avoid common pitfalls.
  • Use Case: A developer needs to ensure their new feature is thoroughly tested. They consult this Skill to understand the best practices for writing unit and integration tests, how to structure their test data, and what common mistakes to avoid.

Quick Start

Consult the "What Type of Test Should I Write?" decision tree to determine the best approach for your current testing need.

Frequently Asked Questions about testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I decide what type of test to write for my code?

Use a testing decision tree to select between unit, integration, and contract tests based on your isolation needs and dependency complexity. It evaluates scope and boundaries to recommend the most effective test type.

What are the best practices for writing maintainable unit tests?

Maintainable unit tests follow language-agnostic principles like Given-When-Then structure, test independence, and strict isolation. Using clear naming conventions and targeted assertion strategies ensures long-term reliability.

When should I use test doubles and mocking in integration testing?

Use test doubles and mocking when integration testing requires isolating external dependencies. Decision trees guide you on when to apply mocks to maintain strict test independence and avoid anti-patterns.

Are these testing principles applicable to any programming language or framework?

Yes, these testing principles are explicitly language-agnostic. They cover universal concepts, design strategies, and quality standards applicable to any programming language or framework environment.

What common testing anti-patterns should I avoid to ensure code quality?

Common testing anti-patterns to avoid include breaking test independence, poor isolation, and improper structure. Following established best practices for error handling and assertions prevents these code quality pitfalls.