A test freezing the framework clock still fails against code calling time() or new DateTime(), because those bypass it entirely. The database clock is the one that catches…
Tests that pass in file order and fail in any other order are testing the order, and the coupling is invisible until something is added. The seed being…
8.1 on 25 November, and the feature PHP had been simulating with class constants for a decade. A status column holding three spellings of the same thing.
8.1, and a keyword that removes a getter per property. Forty value objects, each with private fields and public accessors that existed only to prevent writes.
Eight parallel workers against one database is eight processes fighting over the same rows, and the failures look like flakiness. The setup cost is what determines whether parallelism…
A stub provides answers and a mock asserts on the calls, and conflating them produces tests that break when the implementation is refactored. Asserting on a call that…
A snapshot test asserts that output has not changed, which is only useful if somebody reads the diff when it does. The regeneration reflex is what makes snapshot…
A named stage that installs dev dependencies and runs the suite gives the pipeline a single command and the runtime image none of it. The value is that…