PHPUnit 8.0.0 introduced a void
return type declaration to the "fixture" methods – setUpBeforeClass()
, setUp()
, tearDown()
and tearDownAfterClass()
. As the void
return type was not introduced until PHP 7.1, this makes it more difficult to create cross-version compatible tests when using fixtures, due to signature mismatches.
The Yoast\PHPUnitPolyfills\TestCases\TestCase
overcomes the signature mismatch by having two versions. The correct one will be loaded depending on the PHPUnit version being used.
When using this TestCase, if an individual test, or another TestCase which extends this TestCase, needs to overload any of the "fixture" methods, it should do so by using a snake_case variant of the original fixture method name, i.e. set_up_before_class()
, set_up()
, assert_pre_conditions()
, assert_post_conditions()
, tear_down()
, and tear_down_after_class()
.
The snake_case methods will automatically be called by PHPUnit.
IMPORTANT: The snake_case methods should not call the PHPUnit parent, i.e. do not use parent::setUp()
from within an overloaded set_up()
method. If necessary, DO call parent::set_up()
.
This commit renames all declared fixture methods, and calls to parent versions of those fixture methods, from camelCase to snake_case.