2009-06-15 13 views

Odpowiedz

12

Nadaje Mock Objects powinny pozwalają wykonywać takie symulacje łatwo; jeśli nie znasz tej koncepcji, tutaj jest dobry tutorial.

+0

+1 Mock it, nie zadzieraj z ciągnięciem przewodów. –

+4

link samouczka wygasł. – tokhi

1

W przypadku awarii sieci nic nie przebije się po pierwszym odłączeniu kabli ethernetowych komputera (lub bezprzewodowo), a następnie odłączeniu dowolnego kabla zapewnia dostęp do chmury.

Jeśli przez złe odpowiedzi rozumie się błędy HTTP, można pisać skrypty ASP, które zawsze będą wyświetlać określone błędy. Jeśli chcesz przetestować źle sformułowane pakiety HTTP, musisz napisać prostą aplikację do obsługi gniazd.

+0

Nie wiem, jak zintegrować proces odłączania kabla w systemie automatycznego budowania ;-) – assylias

0

Wyciągnij przewód LAN, lub wyłączyć router bezprzewodowy, gdy wnioski są wykonywane :)

1

Czy próbowałeś HTTPUnit i JWebUnit?

+0

brak odpowiedzi na pytanie ponownie odczytać pytanie –

-1

To, co robimy w tej sytuacji, jest abstrakcyjną warstwą, która nawiązuje połączenie. Zamiast mieć swoją logikę bezpośrednio do żądania http, twój kod wywoła funkcję. W ramach tej funkcji może być coś takiego:

if (in_test) { 
    response = get_test_response(); 
} else { 
    response = make_http_request(); 
} 

Wtedy można mieć swoje testy jednostkowe ustawić jakąś wartość dostępną przez funkcję get_test_response(). W ten sposób można programowo zmienić wynik połączenia.

+1

Zwykle złe jest posiadanie tego rodzaju logiki w swojej aplikacji. Zalecam użycie obiektu próbnego. – codecraig

1

Zawiń bibliotekę, która wywołuje HTTP (np. Java.net.URLConnection lub Commons HttpClient) za interfejsem, a następnie napisz implementacje lub makiety tego interfejsu, które symulują warunki awarii.

Twój interfejs może jedynie reprezentować operacje, które aplikacja musi wykonać, a nie cały zakres funkcji klienta HTTP.

Powiązane problemy