Dostęp do entity managera poza kontrolerem, nie używając wstrzykiwania za pomocą konstruktora - test klasy [symfony 4 / doctrine]

0

Witam,
Próbuję przetestować klasę a do testów potrzebuję entity managera, klasa którą chcę testować w konstruktorze przyjmuje ten entityManager.

No i tu pojawia się problem, ponieważ przy tworzeniu instancji klasy muszę podać ten entityManager, no i nie wiem jak uzyskać do niego dostęp.

0

Jeżeli mówisz o testach jednostkowych, to powinieneś zamockować ten EntityManager.
Tutaj masz informację jak to zrobić: https://phpunit.de/manual/6.5/en/test-doubles.html

0
Markuz napisał(a):

Jeżeli mówisz o testach jednostkowych, to powinieneś zamockować ten EntityManager.
Tutaj masz informację jak to zrobić: https://phpunit.de/manual/6.5/en/test-doubles.html

Właśnie tego nie chciałem robić :/ myślałem, że jest inna możliwość.
I to tak za każdym razem trzeba robić mocki kiedy się chce przetestować coś co używa entityManagera?

0

Test jednostkowy - jak sama nazwa wskazuje testuje pojedyńczą klasę zazwyczaj, więc wszystkie zależności musisz mockować, tymbardziej takie które korzystają z bazy danych. Pokaż kod klasy i kod testu to będzie łatwiej coś podpowiedzieć.

0
Markuz napisał(a):

więc wszystkie zależności musisz mockować, tymbardziej takie które korzystają z bazy danych
No dobra, tyle mi wystarczy, wydaje się to sensowne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1