Я запускал тесты PHPUnit на PHP5, а затем мне нужно было также поддерживать PHP7. Вот что я сделал:
В composer.json:
"phpunit/phpunit": "~4.8|~5.7"
В моем файле начальной загрузки PHPUnit (в моем случае, /tests/bootstrap.php
):
// PHPUnit 6 introduced a breaking change that
// removed PHPUnit_Framework_TestCase as a base class,
// and replaced it with \PHPUnit\Framework\TestCase
if (!class_exists('\PHPUnit_Framework_TestCase') && class_exists('\PHPUnit\Framework\TestCase'))
class_alias('\PHPUnit\Framework\TestCase', '\PHPUnit_Framework_TestCase');
Другими словами, это будет работать для тестов, написанных изначально для PHPUnit 4 или 5, но затем необходимо также работать и для PHPUnit 6.