Testy jednostkowe na klasie Encji [Symfony]

0

Witam czy mógłby mi ktoś wytłumaczyć lub nakierować jak mogę przetestować jednostkowo mój serwis ? Chodzi mi o nakierowanie jak robi się testy jednostkowe na klasach encji. Dajmy na przykład serwis : https://gist.github.com/kamil161g/6b68207d30406e7fb8cc2cfba82d8f71

Serwis wykonuje proste zapytanie do bazy (dodaje zamówienie z 2 polami).
Chodzi mi jak takie coś powinno się testować jednostkowo ?

Dodam, że Controller związany z tym serwisem został przetestowany funkcjonalnie więc proszę mi tego nie pisać. Dziękuje :D

0

Moim zdaniem żeby prztestować to jednostkowo, musisz zamockować $entityManager, wykonać metodę insertFoodToOrder, a następnie sprawdzić czy na mocku wykonała się metoda getRepository(Orders::class)->insertOrder z tym samym $order które wrzuciłeś jako argument metody - ale jak sam widzisz Twój kod nie jest na tyle skomplikowany, że potrzebuje testu jednostkowego.

0

Nie powinno się testować 100% kodu ?

0

Zdecydowanie nie.

Rozszerzona odpowiedź:
Jednostkowo nie, w unit testach warto testować coś co jest podatne na błędy, skomplikowane - jak będziesz pisał unit testy do wszystkiego to wprowadzanie kolejnych zmian może być ciężkie, ponieważ będziesz więcej czasu poświęcał na naprawę testów niż na pisanie właściwego kodu. Cała "pirmida testów" powinna pokryć około 100% - ale tam są testy funkcjonalne (e2e), integracyjne i jednostkowe (unit). W Twoim przypadku łatwiej będzie zrobić sensowny test integracyjny który weźmie pod uwagę większy kawałek aplikacji lub test funkcjonalny który wykona od 0 całą ściezkę a potem sprawdzi np. na bazie czy struktura wygląda tak jak się tego spodziewasz.

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