Codeception / Codeception/AspectMock

How do I mock a protected property of a an object.

Offen
#137 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
PHP
Sterne
784
Forks
132
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Given
```
Class A {
protected $x = false;

public function methodA()
{
if($x){ return 'FOO'; }
return 'BAR';
}
}
```

My test is -
```
$a = new A();

\Aspectmock\Test::double($a,['x' => true]);

$this->assertEquals('BAR', $a->methodA() );
```

I get `null`.

How do I solve this?

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Reproduziere das Beispiel mit Class A, methodA() und AspectMock\Test::double() und untersuche anschließend, wie die Suche nach der geschützten Property behandelt wird. Vergleiche das beobachtete null-Ergebnis mit dem erwarteten BAR-Wert des Tests; abgeschlossen ist die Aufgabe, wenn das Verhalten erklärt oder korrigiert und durch einen Regressionstest abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
testing
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.