![]() |
![]() |
![]()
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: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Robiac Mock klasy request mozesz okreslic co maja zwracac dane metody a tym samym mozesz zasymulowac przeslanie parametrow z POST
2) Moim zdaniem masz zle zaprojektowana te klase bo jest ona zalezna od request. Bardziej metoda getSql powinna jako parametr przyjmowac tablice i tam powinienies ustawiac dane z request. Wowczas uniezalezniasz sie od klasu request, twoj service moze dzialac na danych z dowolnego zrodla i bez problemu jestes to w stanie przetestowac ps: $dql = str_replace(":" . $param->getName(), $param->getValue(), $dql); $dql = str_replace("LIKE " . $param->getValue(), "LIKE '" . $param->getValue() . "'", $dql); Ouch, czemu tak? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 01:42 |