Hej,
Mam problem z napisaniem testow jednostkowych do mojej klasy, ktora nawiazuje polaczenie z pewnym miejscem w sieci, robi "cala magie" i dopiero zwraca wynik. Oczywiscie chcialbym testy jednostkowe odpalac bez koniecznosci polaczenia z internetem i bez uzalezniania sie czy po drugiej stronie nie padl serwer itp.
Klasa ma duzo metod prywatnych, jedna publiczna - ja wywoluje, ona po kolei wywoluje reszte i zwraca wynik. Gdybym mogl zamockowac odpowiedz z sieci to wszystko bylo by pieknie, bo reszta metod nawet by sie nie skapnela ze nie ma rzeczywistego polaczenia. Chodzi mi konkretnie o miejsce w kodzie:
// (URLConnection connection)
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
czyli musialbym zamockowac wynik getInputStream(). Metoda ta zwraca mi obiekt typy HTTPInputStream, ktory jak zobaczylem w debugerze to sie przekrecilem :) Obiekt jest dosc duzy i mockowac go w calosci bedzie problem.
Macie jakies pomysly jak to rozwiazac? (ja nie jestem bardzo doswiadczonym programista wiec prosze o wyrozumialosc jezeli popisalem glupoty a rozwiazanie bedzie bardzo proste) :)