PHPUnit — Могу ли я запустить тесты для более низкой версии PHP?

Как объяснил Вот Я могу запустить тест на наличие версии PHP не ниже 5.3.0.

Но если я хочу запустить тесты для версии PHP ниже, чем 5.3.0?

Я пишу это:

<file phpVersion="5.3.0" phpVersionOperator="<=">./tests/unit/test-file.php</file>

Но я получаю эту ошибку

Unescaped '<' not allowed in attributes values

Как я мог это сделать?

3

Решение

В соответствии с документом version_compare функция:

Возможные операторы: <, <=, le,>, gt,> =, ge, ==, =, eq,
знак равно <> нэ соответственно.

Что используется в ядре phpunit Вот, Вы можете просто указать lt как ценность. Как пример:

<file phpVersion="5.3.0" phpVersionOperator="lt">./tests/unit/test-file.php</file>

Надеюсь это поможет

НОТА:

Если файлы также включены в другую директиву набора тестов, они будут выполнены, как, например, в этой ситуации:

<testsuite name="Project Test Suite">
<directory>tests</directory>  <!-- This line execute the test -->
<file phpVersion="5.3.0" phpVersionOperator="<=">./tests/unit/test-file.php</file>
</testsuite>

Так что будьте избирательны в определении набора тестов.

3

Другие решения

Вам нужно сбежать < внутри атрибута:

<file phpVersion="5.3.0" phpVersionOperator="&lt;=">./tests/unit/test-file.php</file>
0

По вопросам рекламы [email protected]