Report undefined methods in mock ->method('...')
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 25/100
Direzione di ricerca
Read the linked MockMethodCallRule in phpstan-phpunit and trace how afterMethodCallAnalysis handles method() calls on InvocationMocker, MockObject, and Stub. Check the receiver type and string literal argument cases, including @method pseudo methods. The issue estimates roughly 100 lines with tests; done means these calls are checked and the tests cover the described cases.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
A typo or a renamed method in a mock expectation is not reported:
$mailer = $this->createMock(Mailer::class);
$mailer->expects($this->once())->method('sendInvoce'); // Mailer::sendInvoce() doesn't exist
PHPUnit only fails at runtime, and only if that test actually runs. phpstan-phpunit reports it (MockMethodCallRule). A probe showed that ->method('x') after createMock(), after expects() and on createStub() is never checked today.
Idea: in afterMethodCallAnalysis, for method() calls on InvocationMocker/MockObject/Stub, take the mocked class from the receiver type (Foo&MockObject) and check $codebase->methodExists() for a string literal argument (so @method pseudo methods are respected). Roughly 100 lines with tests.
Idea borrowed from phpstan/phpstan-phpunit.
- Lingua principale
- Gherkin
- Stelle
- 79
- Fork
- 38
- Merge medio
- 6h 52m
- PR unite (30g)
- 28
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 psalm/psalm-plugin-phpunit
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
psalm/psalm-plugin-phpunit#222 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
psalm/psalm-plugin-phpunit#220 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
psalm/psalm-plugin-phpunit#219 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
psalm/psalm-plugin-phpunit#216 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 57/100
psalm/psalm-plugin-phpunit#223 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di psalm/psalm-plugin-phpunit
Issue simili
-
area: providers/aws priority: p2 size: S type: bug type: testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
finos/open-resource-broker#851 ·
I maintainer di solito rispondono entro 1 giorno
-
missing testAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
w3c/json-ld-api#741 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
msitarzewski/agency-agents#1276 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno