Logowanie z użyciem technik testowania (np. mockowanie logera)

Założenie: Napiszemy prosty przykład testowania funkcji logującej, używając mockowania, aby uniknąć zależności od rzeczywistego logera podczas testów.

Krok po kroku:

  1. Stworzenie interfejsu logera: Definiujemy interfejs, który będzie reprezentował nasz logger. Dzięki temu w testach możemy podmienić rzeczywisty logger na jego mock.
  2. 
    
    				
  3. Implementacja logera: Tworzymy klasę implementującą interfejs LoggerInterface. Ta klasa będzie odpowiedzialna za rzeczywiste logowanie.
  4. 
    
    				
  5. Funkcja wymagająca logowania: Tworzymy funkcję, która korzysta z logera.
  6. 
    log("Processing data: " . $data);
      // ... reszta kodu przetwarzającego dane ...
    }
    ?>
    				
  7. Test z mockowanym loggerem: Używamy mocka do testowania funkcji processData bez rzeczywistego zapisywania do pliku.
  8. 
    loggedMessages[] = $message;
      }
    }
    
    $mockLogger = new MockLogger();
    processData($mockLogger, "Test data");
    assert(count($mockLogger->loggedMessages) === 1);
    assert($mockLogger->loggedMessages[0] === "Processing data: Test data");
    ?>
    				

Ten przykład pokazuje podstawy testowania kodu z zależnościami zewnętrznymi za pomocą mockowania. Zachęcamy do dalszego zgłębiania tematu testów jednostkowych w PHP!

Dodaj komentarz 0

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