integration-test-design

Design integration tests for boundary interactions between system units.

1|Updated May 6, 2026
One-click install
npx skills add https://github.com/jacob-balslev/skill-graph --skill integration-test-design-jacob-balslev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: integration-test-design
Source: https://github.com/jacob-balslev/skill-graph/tree/main/marketplace/skills/integration-test-design
Command: npx skills add https://github.com/jacob-balslev/skill-graph --skill integration-test-design-jacob-balslev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Integration-Test Design prevents flaky, misleading, or ineffective test suites by helping you explicitly design what an integration test scope is (and isn’t), and by choosing real-vs-faked collaborators and test data lifecycles that keep boundaries honest.

Core Features & Use Cases

  • Boundary-first scope definition: designs integration tests around the seam between two or more units (module, layer, service, process boundary) so the test catches boundary defects rather than merely re-testing unit logic.
  • Real-vs-faked collaborator decisions: determines when to use real dependencies (e.g., databases, message buses, caches) versus recorded or capture fakes (e.g., paid/side-effect third parties).
  • Test data lifecycle patterns: applies standard isolation methods such as transaction rollback or container reset to reduce shared-state flakes.
  • Failure-mode diagnostics: identifies common causes of “integration tests that act like unit tests” or “integration tests that act like e2e tests,” plus flake sources like shared mutable state and ordering/time dependencies.

Quick Start

Use the integration-test-design skill to design an integration test for the order service by specifying the boundary, selecting which collaborators are real versus faked, and choosing a test-data lifecycle (typically transaction rollback).

Frequently Asked Questions about integration-test-design

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

FAQPage Schema
How do I design integration tests that verify boundary interactions instead of isolated unit logic?

Design integration tests by explicitly defining the boundary between two or more system units, such as service-to-database or service-to-message-bus, to catch boundary defects rather than re-testing unit logic.

When should I use real dependencies versus faked collaborators in an integration test?

Use real dependencies like databases and message buses to verify actual boundary interactions, while using recorded or capture fakes for paid or side-effect third-party collaborators to avoid unwanted external side effects.

What is the best way to isolate test data and prevent flaky integration tests caused by shared mutable state?

Prevent flaky integration tests by applying standard test data lifecycle isolation patterns, such as transaction rollback or container reset, to eliminate shared mutable state and ordering dependencies between tests.

How do I choose between the test pyramid and test trophy framing for my integration test suite?

Choose between test pyramid and test trophy framing by evaluating your integration test scope and boundary selection, ensuring the suite appropriately balances boundary interaction coverage against isolated unit and end-to-end tests.

Why do my integration tests act like unit tests or end-to-end tests and suffer from scope drift?

Integration tests act like unit or end-to-end tests due to scope drift, which occurs when the boundary definition is not explicitly scoped to the seam between two or more specific system units.

Can I use transaction rollback for test data lifecycle isolation when testing a service-to-cache boundary?

Yes, you can use transaction rollback or container reset as standard test data lifecycle isolation patterns when testing service-to-cache boundaries and other similar integration scenarios to maintain test reliability.