Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Testowanie obiektow zaleznych od zewnetrznych aplikacji.

Joł,

takie pytanie mi sie nasunelo siedzac wlasnie nad klasa do smtp, macie jakies pomysly jak pisac testowalny kod i w ogole jak testowac obiekty ktorych zadaniem jest laczenie sie z jakims serwerem jakiejs uslugi, poczta, rest, soap cokolwiek.

Wydaje mi sie ze pisanie mockowatego serwera to troche przerost formy nad trescia dlatego ciekawi mnie jak byscie do tego podeszli.

konto usunięte

Temat: Testowanie obiektow zaleznych od zewnetrznych aplikacji.

Według sztuki, powinno się podstawić klasę do komunikacji zewnętrznej, która zawsze zwróci poprawny, oczekiwany rezultat.
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Testowanie obiektow zaleznych od zewnetrznych aplikacji.

no tak, tylko teraz pytanie jak to w praktyce zrealizowac majac polaczenie z socketem oparte o deskryptor pliku, jedyny sposob jaki widze to poprostu klient <-> server i ogien, ale noz kurde nie bede pisal serwera zeby glupia klase przetestowac ;)
Jarek W.

Jarek W. Software Engineer

Temat: Testowanie obiektow zaleznych od zewnetrznych aplikacji.

Jeśli chodzi o testy jednostkowe, to możesz podpatrzeć jak to zrobili np. w Zend Frameworku.
Jakub L.

Jakub L. Programista

Temat: Testowanie obiektow zaleznych od zewnetrznych aplikacji.

Łukasz Cepowski:
no tak, tylko teraz pytanie jak to w praktyce zrealizowac majac polaczenie z socketem oparte o deskryptor pliku, jedyny sposob jaki widze to poprostu klient <-> server i ogien, ale noz kurde nie bede pisal serwera zeby glupia klase przetestowac ;)

Nie do końca serwer, przypuszczam że wystarczy automat działający na zasadzie pytanie-odpowiedź i odpowiadający w predefiniowany sposób, wtedy będziesz mógł realizować wszelkie scenariusze pozytywne i negatywne.
Alan Gabriel B.

Alan Gabriel B. Software Engineer,
IFX

Temat: Testowanie obiektow zaleznych od zewnetrznych aplikacji.

Łukasz Cepowski:
no tak, tylko teraz pytanie jak to w praktyce zrealizowac majac polaczenie z socketem oparte o deskryptor pliku, jedyny sposob jaki widze to poprostu klient <-> server i ogien, ale noz kurde nie bede pisal serwera zeby glupia klase przetestowac ;)

Stoisz przed problemem złej architektury.
Na dobrą sprawę powinieneś posiadać dodatkowa warstwę odpowiedzialna za łączenie/pobieranie/wysyłanie danych do/z socketa (zasada single responsibility). Dzięki temu w unit testach będziesz mógł tą warstwę zmockować.

Co do aktualnego testowania socketów, ja bym się pokusił o przekierowanie żądań na spreparowane pliki........ a najlepiej użył już czegoś przetestowanego tj. Zend_Http_*Alan Gabriel Bem edytował(a) ten post dnia 18.01.11 o godzinie 00:28
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Testowanie obiektow zaleznych od zewnetrznych aplikacji.

Łukasz Cepowski:
Joł,

takie pytanie mi sie nasunelo siedzac wlasnie nad klasa do smtp, macie jakies pomysly jak pisac testowalny kod i w ogole jak testowac obiekty ktorych zadaniem jest laczenie sie z jakims serwerem jakiejs uslugi, poczta, rest, soap cokolwiek.

Wydaje mi sie ze pisanie mockowatego serwera to troche przerost formy nad trescia dlatego ciekawi mnie jak byscie do tego podeszli.

Porób mocki mechanizmem dostępnym w PHPUnit - dużo roboty z tym nie ma, a działa bardzo przyjemnie.

Następna dyskusja:

Testowanie aplikacji




Wyślij zaproszenie do