Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHPUnit Mocking - Anzahl der Parameter einer Methode mit Reflection ausles

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] PHPUnit Mocking - Anzahl der Parameter einer Methode mit Reflection ausles

    Hallo zusammen,

    ich möchte gerne in einem phpunit-Test ein gemocktes Objekt verwenden (PHPUnit Version 4.4.1). In der zu testenden Methode übergebe ich ein Objekt, für das wiederum die Anzahl der Parameter der "get" Methode mittels Reflection ausgelesen werden.

    Übergebe ich ein echtes Objekt, funktioniert das. Übergebe ich ein gemocktes Objekt, klappt es nicht. Hier etwas Beispiel-Code:

    PHP-Code:
    public function testMockReflection() {
            
    $mock $this->getMockBuilder('Controllers\\UserController')
                ->
    setMethods(array('get'))
                ->
    getMock();

            
    $mock->expects($this->once())
                ->
    method('get')
                ->
    with($this->equalTo('1'))
                ->
    will($this->returnValue('user 1'));


            
    $reflectionClass = new \ReflectionClass($mock);
            
    var_dump($reflectionClass->getMethod('get')->getNumberOfParameters());

    Ergebnis:
    Code:
    int(0)
    Eigentlich müsste aufgrund der ->with(...) Methode beim Erstellen des Mocks die Anzahl der Parameter doch 1 sein und nicht 0, oder mache ich etwas falsch?
    Tutorials zum Thema Technik:
    https://pilabor.com
    https://www.fynder.de


  • #2
    Hab einen Bug aufgegeben, aktuell ist es nicht möglich, nicht vorhandene Klassen so zu mocken, dass man die Parameter der Methoden angeben kann:

    https://github.com/sebastianbergmann...mment-70037345
    Tutorials zum Thema Technik:
    https://pilabor.com
    https://www.fynder.de

    Kommentar

    Lädt...
    X