The old TestListener interface is gone, and the replacement is a set of typed events with subscribers. The typed events are a genuine improvement over a nine-method interface…
PHPUnit 10 deprecates the docblock forms in favour of attributes, which is a mechanical change across every test file and a real improvement. Attributes are parsed by the…
A test that fails between 23:00 and midnight, once a year, and passes on every rerun. PSR-20 standardised this interface in 2022, which is worth adopting for the…
A global threshold of 80% says nothing about whether the code that matters is tested, and it is satisfied by testing the code that is easy. Different code…
Mocking a client library’s own interface couples every test to that library; faking the standard interface does not. Throwing on an unstubbed request is the design decision that…