Как определить версию PHPUnit

Я пишу модульные тесты, используя устаревшую версию PHPUnit (3.4), и поэтому не могу использовать все поддерживаемые утверждения, перечисленные в руководстве по 3.5 и 3.6. Хотя я мог бы провести тесты реинжиниринга для мгновенной поддержки в моей среде здесь, я хотел бы сделать мои тесты зависимыми от текущей версии PHPUnit, так что он использует assertsInstanceOf(), как только моя или любая другая тестовая среда предоставляет PHPUnit 3.5+.

Я думал, что будет некоторая константа, автоматически определяемая PHPUnit, но я не мог найти на ней никакой документации.

Есть ли способ достичь этого, не требуя определения константы при вызове в командной строке?

Ответ 2

Чтобы сделать проверку неполной для более старых версий:

    if (
        !method_exists('PHPUnit_Runner_Version','id')
        || version_compare(PHPUnit_Runner_Version::id(), '3.7', '<=')
    ) {
        $this->markTestIncomplete('need phpunit >= 3.7 to run this test');
    }

Ответ 3

Вы можете добавить аннотацию перед тестом:

/**
 * @requires PHPUnit 3.7.32
 */
function testRequiringCertainPHPUnit() {
}

Ответ 4

Работает на mac:

phpunit --version

@Marc B