PHPUnit - 我可以运行较低版本的PHP的测试吗?
问题描述:
正如解释here我可以运行一个测试,如果PHP版本至少5.3.0。PHPUnit - 我可以运行较低版本的PHP的测试吗?
但是,如果我想运行PHP版本低于5.3.0的测试?
我写这篇文章:
<file phpVersion="5.3.0" phpVersionOperator="<=">./tests/unit/test-file.php</file>
但我收到此错误
Unescaped '<' not allowed in attributes values
我怎么能这样做呢?
答
在手风琴与version_compare函数的DOC:
可能的操作符是:<,LT,< =,LE, >,gt,> =,ge,==,=,eq, !=,<>,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>
所以要在测试套件定义中有选择性。
+0
是的!现在'lt'works好了!谢谢! :) –
答
您需要转义<属性内:
<file phpVersion="5.3.0" phpVersionOperator="<=">./tests/unit/test-file.php</file>
+0
已经尝试过,但没有结果。 –
phpVersion不会告诉PHPUnit“伪造”不同的PHP版本。它只是设置所需的最小PHP版本,所以如果你的版本不符合这个要求,测试将(可能)不会发生。相反, – apokryfos
降低版本。或者,在您的测试 – Gordon
上使用'@ requires',您使用的是哪个版本的phpunit? – Matteo