Test::double doesn't work properly for static methods in parent
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia con i due metodi di test nell’issue e riproduci la differenza tra il test double di \yii\BaseYii e quello di \Yii. Traccia come viene risolta la chiamata statica attraverso la classe padre e confrontala con il caso della classe diretta; il lavoro è completato quando \Yii::error('test') restituisce il valore mockato mentre la verifica dell’invocazione continua ad avere esito positivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I'm using Yii2, Codeception and AspectMock, when I'm trying to mock/double static method from parent class then original method is used instad of mocked one.
Below example:
class Yii extends \yii\BaseYii
class \yii\BaseYii has static method error()
public function testStaticMethodForParentIsMocked()
{
$appVerifier = AspectMock\Test::double(\yii\BaseYii::class, [
'error' => function () {
return 2;
}
]);
$test = \Yii::error('test'); // Original method were used
$this->assertEquals(2, $test); // this assert will fail - not correct
$appVerifier->verifyInvokedOnce('error'); // this will pass - correct
}
public function testStaticMethodForClassIsMocked()
{
$appVerifier = AspectMock\Test::double(\Yii::class, [
'error' => function () {
return 2;
}
]);
$test = \Yii::error('test'); // Mocked method were used
$this->assertEquals(2, $test); // this assert will pass - correct
$appVerifier->verifyInvokedOnce('error'); // this will pass - correct
}
- Lingua principale
- PHP
- Stelle
- 784
- Fork
- 132
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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 Codeception/AspectMock
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
Codeception/AspectMock#208 · 2 commenti · 5 reazioni ·
-
AspectMock не мокает объект Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
Codeception/AspectMock#206 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
Codeception/AspectMock#203 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 35/100
Codeception/AspectMock#202 · 5 commenti · 2 reazioni ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 42/100
Codeception/AspectMock#201 · 1 commento ·
Tutte le issue di Codeception/AspectMock
Issue simili
-
Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Automattic/safe-publish#594 ·
-
needs-triage Platform(Default)
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
HttpClient
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
symfony/symfony-docs#23092 ·
-
sync-en
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
sync-en
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100