public function connect() { $this->state = new ConnectionEstablished(); $this->state->open(); }
jak widać w 3 linijce jest wywołanie klasy ConnectionEstablished
teraz mam test PHPUnit:
$this->assertEquals('Opening connection mysql://user@pass:123', $dbConnection->connect());
i test jest OK - nie ma błędów, aczkolwiek nie rozumiem dlaczego, ponieważ normalnie gdybym wywołał w PHP kod:
$this->state = new ConnectionEstablished();
to byłby błąd - ponieważ nie ma takiej klasy, dlaczego w tym przypadku test jest ukończony pomyślnie? Rozumiem, że metoda assertEquals sprawdza jedynie co zwraca dana funkcja ignorując to, że coś w niej może być nie tak? W takim wypadku jak się uchronić przed tego typu błędami?