PHPUnit - 我可以为较低版本的PHP运行测试吗?

时间:2016-10-06 10:20:27

标签: php phpunit version requirements

正如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

我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

符合version_compare职能的文件:

  

可能的运算符是:&lt;,lt,&lt; =,le,&gt;,gt,&gt; =,ge,==,=,eq,   分别是!=,&lt;&gt;,ne。

在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>

因此,在测试套件定义中要有选择性。

答案 1 :(得分:0)

你需要逃避&lt;在属性中:

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