我已在Mac上安装了多个PHP版本,并希望针对特定的PHP版本(或针对多个版本)运行单元测试
这是我的php版本:
$ php --version
Output: PHP 5.4.23 ...
$ /Applications/MAMP/bin/php/php5.2.17/bin/php --version
Output: PHP 5.2.17 ...
我的测试用例如下:
function test_php_version() {
$actual = phpversion();
$expected = '5.2.17';
$this->assertEquals( $expected, $actual, 'Wrong PHP version!' );
}
当我运行测试时,我得到了这个回复:
$ phpunit
Wrong PHP version!
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'5.2.17'
+'5.4.24'
$ /Applications/MAMP/bin/php/php5.2.17/bin/php phpunit
Error: Could not open input file: phpunit
如何使用php版本5.2.17运行测试?
更新:
我发现PHPUnit不再运行php5.2.17了。所以我改变了我的要求,用php5.3.5运行单元测试,这是受支持的。
答案 0 :(得分:10)
$ /Applications/MAMP/bin/php/php5.2.17/bin/php path/to/phpunit.phar
phpunit-using-5.2
#!/bin/sh
set -e
/Applications/MAMP/bin/php/php5.2.17/bin/php path/to/phpunit.phar "$@"
现在你可以运行它了:
$ phpunit-using-5.2
或者你也可以创建一个bash别名。
答案 1 :(得分:0)
我有两个版本的php,默认值为7.4,而较早的版本是7.3,因此我可以使用较旧的版本测试我的测试用例。
php7.3 ./vendor/bin/phpunit