Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

HttpRequestTrait fatals on WordPress 7.2: $blocked_http_requests clashes with WP_UnitTestCase_Base

オープン 初心者向け
#62 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
72/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
php
領域
testing

調査の方向性

$blocked_http_requests プロパティと、src/Integration/HttpRequestTrait.php での使用箇所から始めてください。その後、WordPress の tests/phpunit/includes/abstract-testcase.php にある protected 宣言と比較します。Issue にある5行のスニペットは、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

  1. Use wp-media/phpunit v3.3.
  2. Run any integration test that uses HttpRequestTrait against WordPress trunk (seen on 7.2-alpha-64349).
  3. 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 を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

wp-media/phpunit のほかの issue

wp-media/phpunit の issue をすべて見る

似ている issue

PHP の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。