Xav*_*ero 5 phpunit bridge version symfony composer-php
我使用Symfony 3.3.10上PHP 7.0.25-0ubuntu0.16.04.1
默认情况下,此组合与phpunit 5.x.
但我想用力phpunit 6.x。
当我vendor/bin/simple-phpunit第一次调用时,它会按照此处的源代码中的说明安装phpunit/phpunit版本5.7.*:
https://github.com/symfony/phpunit-bridge/blob/v3.4.11/bin/simple-phpunit
第 18-27 行:
if (PHP_VERSION_ID >= 70200) {
// PHPUnit 6 is required for PHP 7.2+
$PHPUNIT_VERSION = getenv('SYMFONY_PHPUNIT_VERSION') ?: '6.5';
} elseif (PHP_VERSION_ID >= 50600) {
// PHPUnit 4 does not support PHP 7
$PHPUNIT_VERSION = getenv('SYMFONY_PHPUNIT_VERSION') ?: '5.7';
} else {
// PHPUnit 5.1 requires PHP 5.6+
$PHPUNIT_VERSION = '4.8';
}
Run Code Online (Sandbox Code Playgroud)
因为我的 PHP 版本是7.0它选择 phpunit version 5.7。
我看到6.5如果我在环境变量中设置它,我可能会“强制”桥接 phpunit :
在 shell 中,我这样做:
rm -Rf vendor
export SYMFONY_PHPUNIT_VERSION=6.5
composer install
vendor/bin/simple-phpunit
Run Code Online (Sandbox Code Playgroud)
现在我正确地得到: PHPUnit 6.5.8
相反,如果我注销并再次登录,它会丢失 env-var 和下一次调用,vendor/bin/simple-phpunit并强制安装 5.7。
我已经知道我可以将 env-var 设置到我的 bash 脚本中,等等,等等,但这不是一个可以接受的解决方案,原因有两个:
git clone+ composer install+vendor/bin/simple-phpunit并且它应该正确地测试,没有额外的手动步骤。是否可以告知项目(也许东西的composer.json)有一些奇特的设置,以便symfony中的PHPUnit的桥被强制使用phpunit 6.x(例如6.5超过)5.7版本的所有回购的安装和不依赖于任何全球外部回购?
phpunit.xml从 4.1 版本开始,您可以在/中进行配置phpunit.xml.dist:
<php>
<env name="SYMFONY_PHPUNIT_VERSION" value="6.5" />
</php>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |