Run in Any Order
Bache’s rename of Beck’s Isolated, kept here because it names the observable requirement: the failure of one test can never make another test look broken. Each test builds its own fresh fixture; results don’t depend on what ran before. Seven authorities say the same thing in different words, from “Independent” (Meszaros, FIRST) to “hermetic” (Google).
Distinct concern: whether a test uses real collaborators or doubles. That’s the solitary/sociable axis (Jay Fields, via Fowler), not this property, and conflating the two is how “isolated” became ambiguous. Also distinct from Composable: that property is about confidence combining, this one about tests not interfering.
Part of Test Desiderata.
Measuring: run the suite in randomized order (pytest-randomly, JUnit 5
random ordering, --gtest_shuffle); zero order-dependent failures across
repeated permutations.
Sources
- Emily Bache, Test Desiderata 2.0: the “Run in any Order” rename.
- Gerard Meszaros, Goals of Test Automation: the Independent Test.
- Martin Fowler, UnitTest: the solitary/sociable distinction, crediting Jay Fields in its footnotes. (“Mocks Aren’t Stubs” draws the related classical/mockist line but names neither term.)