Testowanie interfejsów
Założenie: Pokażemy, jak testować klasę implementującą interfejs, upewniając się, że wszystkie metody interfejsu są zaimplementowane poprawnie.
Krok po kroku:
- Definicja interfejsu: Zdefiniujmy prosty interfejs
MojaOperacja
z metodąoblicz
. - Implementacja interfejsu: Stwórzmy klasę
Dodawanie
implementującą interfejsMojaOperacja
. - Testowanie implementacji: Napiszmy prosty test, który sprawdzi, czy metoda
oblicz
zwraca poprawny wynik. - Dodatkowy test (dla pełności): Możemy dodać klasę implementującą ten sam interfejs, ale z inną logiką, np. odejmowanie.
interface MojaOperacja {
public function oblicz(int $a, int $b): int;
}
class Dodawanie implements MojaOperacja {
public function oblicz(int $a, int $b): int {
return $a + $b;
}
}
$dodawanie = new Dodawanie();
$wynik = $dodawanie->oblicz(5, 3);
if ($wynik === 8) {
echo "Test zaliczony!";
} else {
echo "Test niezaliczony!";
}
class Odejmowanie implements MojaOperacja {
public function oblicz(int $a, int $b): int {
return $a - $b;
}
}
$odejmowanie = new Odejmowanie();
$wynik = $odejmowanie->oblicz(5,3);
if ($wynik === 2) {
echo "Test odejmowania zaliczony!";
} else {
echo "Test odejmowania niezaliczony!";
}
Pamiętaj, że ten przykład pokazuje podstawowe podejście do testowania implementacji interfejsu. W rzeczywistych projektach warto korzystać z zaawansowanych frameworków testowych, takich jak PHPUnit.
Zachęcamy do dalszego zgłębiania tematu testowania w PHP!