Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 0 Dołączył: 7.09.2010 Ostrzeżenie: (0%)
|
Mam nadzieje, że mnie zrozumiecie. Otóż mam problem z testowaniem service . Te service ma parametry , które są wstrzykiwane . Znów te service składa się 2 następnych service (bo one tam do tego głównego service są wstrzykiwane).
Te 2 następne service znów mają jakieś elementy wstrzykiwane . I irytuje mnie to , że muszę jawnie tak wrzucać paramtery / obiekty, bo w testach nie można wstrzykiwać. Czy istnieje jakiś sposób aby to obejść? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%)
|
@rad11 Ale po co tak kombinować?
Tak długo jak długo nie trzeba używać żadnych mocków powinno się od nich uciekać. Request / RequestStack to bardzo proste obiekty, które spokojnie można tworzyć sobie na potęgę. @szypi1989 Tutaj testy dają Ci nawet coś więcej niż pewność, że kod działa. Fakt, że jest Ci je tak trudno napisać ładnie obrazuje to, że kod jest - wybacz za bezpośredniość - słabo napisany. Zadaniem Twojej klasy jest zbudowanie odpowiedniego zapytania SQL/DQL na podstawie jakichś kryteriów. No to w takim razie skup się na tym by robił to i tylko to, korzystając z prostych i specyficznych dla tego problemu (zadania) typów danych. To że w produkcyjnym kodzie te kryteria będą gdzieś, jakoś budowane na podstawie danych z żądania HTTP nie ma znaczenia dla tej klasy - ona ma się skupić na swoim zadaniu czyli budowaniu odpowiedniego zapytania na podstawie odpowiednich kryteriów. Ten kod strasznie łatwo przetestujesz i co więcej może to być wartościowy test! A co z tą kwestią tworzenia obiektu reprezentującego kryteria? To jest inna część kodu - może być inicjowana gdzieś pewnie na poziomie jakiegoś kontrolera, która powinna być poddana osobnemu testowi - który weryfikuje jedynie czy obiekt kryteriów jest prawidłowo tworzony na podstawie obiektu żądania HTTP. |
|
|
|
szypi1989 [SF][Symfony2][Symfony]problem z testowaniem usług / service 3.09.2018, 08:23:17
rad11 Nie do końca rozumiem Twój problem ale wydaje mi s... 3.09.2018, 08:28:23
szypi1989 No super . Dzięki. A wiesz może jak przetestować f... 3.09.2018, 09:05:10
rad11 Według mnie powinieneś zamockować po prostu tą met... 3.09.2018, 09:15:09
nospor 1) Robiac Mock klasy request mozesz okreslic co ma... 3.09.2018, 09:29:36
szypi1989 Używam knpbundle a on niestety potrzebuje dane tro... 5.09.2018, 08:53:56
rad11 A jaka dokładnie wersja Symfony ? 5.09.2018, 10:02:22
szypi1989 symfony 3.4 . Jakoś nie łapie tego request.Poniewa... 6.09.2018, 07:24:49
rad11 To spróbuj zrobić coś takiego:
[PHP] pobierz, pla... 6.09.2018, 07:48:47
szypi1989 rozumiem o co Tobie chodzi . No ale mam słabe dośw... 8.09.2018, 08:45:57 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 15:15 |