【发布时间】:2020-03-19 10:17:15
【问题描述】:
我在我的 Symfony 项目中使用PHPUnit Bridge。我目前正在使用 PHPUnit 7,我想升级到 PHPUnit 8。
在 PHPUnit 8 array subset assertions are deprecated 中并生成警告。我想使用dms/phpunit-arraysubset-asserts package 来提供它们。使用常规的 PHPUnit,我只需 composer require 就可以了。
现在,Bridge 没有原始的 PHPUnit 作为其依赖项,而是将其安装到一个临时文件夹,对其进行修补并从那里运行。 phpunit-arraysubset-asserts 具有 PHPUnit 依赖项,但会生成警告:
Adding phpunit/phpunit as a dependency is discouraged in favor of Symfony's PHPUnit Bridge.
* Instead:
1. Remove it now: composer remove --dev phpunit/phpunit
2. Use Symfony's bridge: composer require --dev phpunit
我不想安装phpunit/phpunit 以避免混淆。
我尝试了 ignore it by adding a * replacement,但只是将替换添加到 composer.json 会产生 Composer 错误:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- __root__ No version set (parsed as 1.0.0) conflicts with symfony/phpunit-bridge[v5.0.5].
- symfony/phpunit-bridge v5.0.5 conflicts with __root__[No version set (parsed as 1.0.0)].
- Installation request for __root__ No version set (parsed as 1.0.0) -> satisfiable by __root__[No version set (parsed as 1.0.0)].
- Installation request for symfony/phpunit-bridge v5.0.5 -> satisfiable by symfony/phpunit-bridge[v5.0.5].
使用 PHPUnit Bridge 时添加 PHPUnit 扩展的正确方法是什么?
【问题讨论】:
-
你可以看看这个,github.com/symfony/symfony/issues/30071,不知道有没有好的解决办法。
-
@TejasGosai 这是 Symfony 自己的测试套件中的一个随机问题。与我的问题无关。
-
对不起...我认为它与 phpunit 的版本类似。我的道歉.. :)
-
版本升级不是问题本身,我的问题是关于使用 Bridge 安装扩展。
-
@gronostaj 遇到同样的问题,你找到解决办法了吗?
标签: php symfony phpunit simple-phpunit