使用特定的php版本在phpunit中运行测试

时间:2014-07-10 18:39:45

标签: php macos phpunit version

我已在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运行单元测试,这是受支持的。

2 个答案:

答案 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