Mockowanie obiektów

Założenie: Nauczymy się podstaw mockowania obiektów w PHP przy użyciu PHPUnit, aby izolować testowany kod od zależności zewnętrznych.

Krok po kroku:

  1. Stworzenie prostej klasy: Zdefiniujmy klasę User, która pobiera dane użytkownika z zewnętrznego źródła (np. bazy danych).
  2. 
    
    				
  3. Napisać test bez mockowania: Spróbujmy napisać test dla funkcji, która używa klasy User. To pokaże nam dlaczego mockowanie jest potrzebne.
  4. 
    assertEquals("Jan Kowalski", $user->getName());
        }
    }
    ?>
    				
  5. Mockowanie obiektu: Teraz użyjemy PHPUnit do stworzenia mocka klasy User. Zamiast prawdziwej implementacji, mock będzie zwracał zdefiniowaną przez nas wartość.
  6. 
    userMock = $this->createMock(User::class);
        }
    
        public function testGetNameWithMock() {
            $this->userMock->method('getName')->willReturn('Mockowany Użytkownik');
            $this->assertEquals('Mockowany Użytkownik', $this->userMock->getName());
        }
    }
    ?>
    				
  7. Wyjaśnienie: W tym przykładzie użyliśmy `$this->createMock(User::class)` aby stworzyć mock obiektu klasy User. Następnie `$this->userMock->method(‘getName’)->willReturn(‘Mockowany Użytkownik’);` definiuje zachowanie mocka – metoda getName będzie zwracać “Mockowany Użytkownik”.

Ten przykład pokazuje podstawy mockowania obiektów w PHP z PHPUnit. Mockowanie pozwala na izolowanie testów i pisanie bardziej niezawodnego kodu. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi technikami mockowania!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *