HttpRequestTrait fatals on WordPress 7.2: $blocked_http_requests clashes with WP_UnitTestCase_Base
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia dalla proprietà $blocked_http_requests e dai suoi utilizzi in src/Integration/HttpRequestTrait.php, poi confrontala con la dichiarazione protected in tests/phpunit/includes/abstract-testcase.php di WordPress. Lo snippet di cinque righe nell'issue riproduce il conflitto senza WordPress. È completato quando un test di integrazione che usa il trait si carica su WordPress trunk e i test del pacchetto continuano a passare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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; }
- Lingua principale
- PHP
- Stelle
- 4
- Fork
- 2
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di wp-media/phpunit
-
enhancement Made by AI
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
enhancement Made by AI
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
-
wpmedia-phpunit binary breaks @runInSeparateProcess testsForse di nuovo libera @remyperona l’ha presa 60 giorni fa e non c’è nessuna pull request aperta. Apertabug Made by AI
-
Improve the library to include classes that could be common to all plugins.Forse di nuovo libera @hellofromahmed l’ha presa 766 giorni fa e non c’è nessuna pull request aperta. Aperta
-
AdminOnly causes a Notice: Undefined offset in wordpress-develop vars.Forse di nuovo libera @hellofromtonya l’ha presa 2438 giorni fa e non c’è nessuna pull request aperta. Aperta
Tutte le issue di wp-media/phpunit
Issue simili
-
PHP workflow streaming requests buffer the full SSE responseForse già presa @Winoren l’ha presa oggi. Apertareview: medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
langgenius/dify#44270 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
bug customer-reported
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
MagnaCapax/PMSS#1085 ·
I maintainer di solito rispondono entro 5 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
nunomaduro/collision#375 ·
-
enhancement good first issue hacktoberfest help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
thetheago/laravel-seeder-versioning#19 ·
I maintainer di solito rispondono entro 1 giorno