Как объяснил Вот Я могу запустить тест на наличие версии 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
Как я мог это сделать?
В соответствии с документом 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>
Так что будьте избирательны в определении набора тестов.
Вам нужно сбежать < внутри атрибута:
<file phpVersion="5.3.0" phpVersionOperator="<=">./tests/unit/test-file.php</file>