【问题标题】:How to upgrade symfony/phpunit-bridge to use PHPUnit 7?如何升级 symfony/phpunit-bridge 以使用 PHPUnit 7?
【发布时间】:2019-08-11 20:10:24
【问题描述】:

我正在使用 Symfony 4.2 和包含 symfony/phpunit-bridge 4.2 的测试包。

PHPUnit 的默认版本是 6.5,但我想升级到 7.5。

在 Symfony PHPUnit Bridger 文档中,它说:

将 SYMFONY_PHPUNIT_VERSION 环境变量设置为例如5.5 更换底座 PHPUnit 的版本为 5.5 而不是默认的 5.3。

也可以在 phpunit.xml.dist 文件中设置这个环境变量。

我尝试了三种方法:

  1. 在项目根文件夹的phpunit.xml/phpunit.xml.dist文件中设置SYMFONY_PHPUNIT_VERSION
  2. .env.test 文件中设置 SYMFONY_PHPUNIT_VERSION
  3. /bin/phpunit 文件中将 SYMFONY_PHPUNIT_VERSION 设置为 7.5。

然后,我删除了 /bin/.phpunit 文件夹并运行 /bin/phpunit 命令重新安装 PHPUnit。

只有第三种方法可以升级 PHPUnit 版本。

我在这里做错了什么?

设置 SYMFONY_PHPUNIT_VERSION 的最佳位置在哪里?

【问题讨论】:

    标签: symfony phpunit symfony4


    【解决方案1】:

    我遇到了同样的问题,偶然发现了您的帖子,感谢您对此环境变量的提示。

    就我而言,我将 SYMFONY_PHPUNIT_VERSION 放入我的 docker-compose.yml 到我的容器环境定义中。 没有必要删除 bin/.phpunit 文件夹,因为重新运行 bin/phpunit 会注意安装所需的版本。

    如果你不使用 docker,你可以试试这个:

    SYMFONY_PHPUNIT_VERSION=7.5 bin/phpunit
    

    export SYMFONY_PHPUNIT_VERSION=7.5
    bin/phpunit
    
    

    【讨论】:

    • 我认为与我提到的第三种方法相同。只是想知道是否有其他方法不使用docker,以及为什么其他两种方法不起作用。感谢您的帮助。
    • 基本上是的,但修改第三方文件从来都不是一个好习惯。在您的情况下,我将创建一个生成文件,它使用您想要的版本调用 phpunit。
    • 是的,我知道你的意思。 bin/phpunit 不在 vendor 文件夹中,它是由 phpunit-bridge 创建的,所以我认为可以更改它,但我仍然认为最好将所有配置放在一个文件中,如 .env 或 .env.test。
    • 虽然 docker-compose 环境可以作为一种解决方案,但我仍然认为这是一个错误,并在 Symfony github.com/symfony/symfony/issues/31816 上报告了它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 2012-02-15
    • 1970-01-01
    • 2017-04-02
    相关资源
    最近更新 更多