testing-strategy

Differentiate unit from integration tests using the Test Pyramid.

Updated Jan 23, 2025
One-click install
npx skills add https://github.com/ymkz/demo-monorepo --skill testing-strategy-ymkz
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: testing-strategy
Source: https://github.com/ymkz/demo-monorepo/tree/main/.agents/skills/testing-strategy
Command: npx skills add https://github.com/ymkz/demo-monorepo --skill testing-strategy-ymkz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Determining when to use unit tests versus integration tests by applying the Test Pyramid to balance fast feedback with reliable coverage, reducing maintenance costs and runtime.

Core Features & Use Cases

  • Clear guidance on test type responsibilities (unit vs integration) and their respective execution speeds.
  • Practical patterns for structuring tests, data isolation, and mock usage across Java, Kotlin, and TypeScript environments.
  • Real-world use cases showing how to scale testing strategy as codebases grow.

Quick Start

Assess a codebase and label components as unit or integration tests to implement an optimal testing strategy.

Frequently Asked Questions about testing-strategy

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

FAQPage Schema
How do I balance unit tests and integration tests using the test pyramid?

To balance unit tests and integration tests using the test pyramid, differentiate fast unit tests from broader integration tests to optimize execution speed, reliable coverage, and maintenance costs across Java, Kotlin, and TypeScript codebases.

When should I write integration tests instead of unit tests in a TypeScript project?

Write integration tests instead of unit tests in a TypeScript project when validating interactions across multiple components or external systems, reserving unit tests for isolated logic to ensure clear separation of concerns and measurable test quality.

What is the best way to structure a testing strategy for a growing Java codebase?

The best way to structure a testing strategy for a growing Java codebase is to label components as unit or integration tests, applying practical patterns for data isolation and mock usage to scale reliably while reducing runtime.

Does the test pyramid approach work for both Kotlin and TypeScript environments?

Yes, the test pyramid approach works for both Kotlin and TypeScript environments, providing structured guidance, best practices, anti-patterns, and runnable examples across multiple frameworks to balance feedback speed and reliable coverage.

What are common anti-patterns when separating unit and integration tests?

Common anti-patterns when separating unit and integration tests include misaligning test type responsibilities, improper mock usage, and poor data isolation, which degrade execution speed and increase maintenance costs across the codebase.