PHPUnit - 我可以 运行 测试较低版本的 PHP 吗?
PHPUnit - Can I run tests for a lower version of PHP?
如前所述 here 我可以 运行 测试 PHP 版本是否至少为 5.3.0。
但是如果我想 运行 测试低于 5.3.0 的 PHP 版本?
我这样写:
<file phpVersion="5.3.0" phpVersionOperator="<=">./tests/unit/test-file.php</file>
但是我收到这个错误
Unescaped '<' not allowed in attributes values
我该怎么做?
您需要在属性内转义 <:
<file phpVersion="5.3.0" phpVersionOperator="<=">./tests/unit/test-file.php</file>
根据 version_compare 函数的文档:
The possible operators are: <, lt, <=, le, >, gt, >=, ge, ==, =, eq,
!=, <>, ne respectively.
在phpunit核心here中使用,您可以简单地指定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>
所以在测试套件定义中要有选择性。
如前所述 here 我可以 运行 测试 PHP 版本是否至少为 5.3.0。
但是如果我想 运行 测试低于 5.3.0 的 PHP 版本?
我这样写:
<file phpVersion="5.3.0" phpVersionOperator="<=">./tests/unit/test-file.php</file>
但是我收到这个错误
Unescaped '<' not allowed in attributes values
我该怎么做?
您需要在属性内转义 <:
<file phpVersion="5.3.0" phpVersionOperator="<=">./tests/unit/test-file.php</file>
根据 version_compare 函数的文档:
The possible operators are: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectively.
在phpunit核心here中使用,您可以简单地指定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>
所以在测试套件定义中要有选择性。