8.0 declares void on the template methods, so every override without it is an incompatible signature — which is a fatal error rather than a deprecation warning. It…
PHPUnit 7 declares void on the template methods, so an override without it is an incompatible signature and a fatal error rather than a warning. It is a…
The @expectedException annotation asserts that the exception happened somewhere in the method, which passes when it is thrown by the setup rather than by the thing under test.…
7.0 landed in February and deprecated a set of assertions that appear in almost every suite, with removals following in 8 — so the warnings are a deadline…
Twelve near-identical test methods differing only in their input is twelve places to update when the method signature changes, and a suite nobody reads. Naming the rows with…
Resetting the database between tests by truncating every table costs a statement per table per test, which on forty tables and four hundred tests is sixteen thousand statements.…
Line coverage says a line executed during the suite. It does not say an assertion would have failed had that line been wrong, which is the question everyone…
Version 6 moved everything under PHPUnitFramework and left aliases for the old names, which are deprecated. Every test file extending PHPUnit_Framework_TestCase needs a line changing. The rename is…