← ClaudeAtlas

test-isolationlisted

Guide test isolation and test doubles — choosing the right boundary, picking the right double type, handling third-party libraries, and injecting nondeterminism. Use when deciding how to isolate a test, which test double to reach for, or whether a dependency should be real or substituted.
ecoma-io/touchstone · ★ 1 · AI & Automation · score 60
Install: claude install-skill ecoma-io/touchstone
# Test Isolation & Doubles A test earns its place by failing when the behaviour breaks. Before writing a single assertion, name the regression: "which specific change to this code must turn this test red?" If the honest answer is "nothing I can name," stop. The default test double is a hand-written stub or fake. A mocking framework earns its keep only when the interface is wide enough that writing the double by hand is real work. The tiers are not a ladder of quality. A behaviour tested at the wrong tier is worse than one tested at the right one, in both directions. ## Decision routing This skill covers four decisions. The details for each are in `references/` — load the file that matches the decision at hand. | Decision | When | Reference | | --------------------- | -------------------------------------------------------------------- | ---------------------------------------------- | | Which boundary | Choosing unit vs integration tier, or packaging for integration deps | [boundary](references/boundary.md) | | Which double type | Stub, fake, spy, or mock — picking the right one | [double-types](references/double-types.md) | | Third-party libraries | A dependency is a third-party lib (axios, DB driver, cloud SDK) | [third-party](references/third-party.md) | | Nondeterminism | Time, random, env,