HttpRequestTrait fatals on WordPress 7.2: $blocked_http_requests clashes with WP_UnitTestCase_Base
还没有人认领这个 Issue。
评估
调研方向
从 $blocked_http_requests 属性及其在 src/Integration/HttpRequestTrait.php 中的使用开始,然后将其与 WordPress 的 tests/phpunit/includes/abstract-testcase.php 中的 protected 声明进行比较。Issue 中的五行代码片段无需 WordPress 即可复现该冲突。完成标准是:使用该 trait 的集成测试能在 WordPress trunk 上加载,并且包自身的测试仍然通过。
由索引模型根据 Issue 内容生成。
描述
Describe the bug
On WordPress trunk (7.2-alpha), any integration test class that uses HttpRequestTrait fails to load:
PHP Fatal error: WP_UnitTestCase_Base and WPMedia\PHPUnit\Integration\HttpRequestTrait define the same property ($blocked_http_requests) in the composition of … However, the definition differs and is considered incompatible.
Core added its own external-HTTP blocking to the base test case (@since 7.2.0) and used the same property name:
- WordPress,
tests/phpunit/includes/abstract-testcase.php:protected array $blocked_http_requests = array(); - this package,
src/Integration/HttpRequestTrait.php:private $blocked_http_requests = [];
PHP won't compose a trait property that differs from an inherited one.
To Reproduce
- Use wp-media/phpunit v3.3.
- Run any integration test that uses
HttpRequestTraitagainst WordPress trunk (seen on 7.2-alpha-64349). - See the fatal error above.
The same error without WordPress, in five lines:
abstract class Base { protected array $blocked_http_requests = array(); }
trait T { private $blocked_http_requests = []; }
class Test extends Base { use T; }
- 主要语言
- PHP
- 星标
- 4
- 派生
- 2
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
wp-media/phpunit 的其他 Issue
-
enhancement Made by AI
难度 3/5 1-2 天 新手友好度 68/100
-
enhancement Made by AI
难度 3/5 1-2 天 新手友好度 74/100
-
wpmedia-phpunit binary breaks @runInSeparateProcess tests可能重新可做 @remyperona 于 58 天前认领,目前没有进行中的 PR。 未关闭bug Made by AI
-
Improve the library to include classes that could be common to all plugins.可能重新可做 @hellofromahmed 于 764 天前认领,目前没有进行中的 PR。 未关闭
-
AdminOnly causes a Notice: Undefined offset in wordpress-develop vars.可能重新可做 @hellofromtonya 于 2435 天前认领,目前没有进行中的 PR。 未关闭
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 2/5 1-3 小时 新手友好度 78/100
pluginsGLPI/addressing#127 ·
-
难度 2/5 1-3 小时 新手友好度 85/100
WordPress/create-block-theme#886 · 1 个 reaction ·
维护者通常 2 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
humanmade/hm-popup-block#18 ·
-
难度 2/5 1-3 小时 新手友好度 62/100
TYPO3BestPractices/tea#2409 ·
维护者通常 1 天内回复