Próbuję stworzyć makiety do zaspokojenia typehint z tym kodem (kpina):Mock ramy zwraca klasę z inną nazwą i typem
return \Mockery::mock('\Contracts\Helpers\iFileSystemWrapper');
lub tym (PHPUnit):
return $this->getMock('\Contracts\Helpers\iFileSystemWrapper');
Ale fałszywa zwana nazywa się Mockery\Mock Object
lub Mock_iFileSystemWrapper_a5f91049
. Jak mam wpisać to sprawdzić, gdy nie jest to przykład tego, czego potrzebuję w ogóle z obu framework?
Dlaczego dokładnie jest to próbne ramy próbujące załadować prawdziwą klasę? Gdybym chciał prawdziwej klasy, zawarłbym prawdziwą klasę.
Ten problem zwolnił mnie tak wiele razy, pisząc testy. Zamierzam tylko rzucić typem wskazującym na okno i zamiast tego sprawdzić nazwy klas, lub po prostu użyć obiektów produkcyjnych, ponieważ mocks są bolesne w użyciu.
Pokaż wynikiem 'var_dump ($ mock instanceof \ Kontrakty \ Pomocnicy \ iFileSystemWrapper);' '$ mock' gdzie jest, co ten kod zwraca – zerkms
' bool (false) '- – Seralize
To dziwne: -S – zerkms