Próbuję dowiedzieć się, jak napisać moje przypadki testowe dla usługi, którą zamierzam napisać.Groovy HTTPBuilder Kpiący z odpowiedzi
Usługa będzie używać HTTPBuilder do żądania odpowiedzi z jakiegoś adresu URL. Żądanie HTTPBuilder musi tylko sprawdzić odpowiedź na sukces lub niepowodzenie. Realizacja usługi będzie być coś tak prostego jak:
boolean isOk() {
httpBuilder.request(GET) {
response.success = { return true }
response.failure = { return false }
}
}
Tak, chcę, aby móc mock HTTPBuilder tak, że mogę ustawić reakcję być albo sukces/porażka w moim teście, więc mogę stwierdzić, że Metoda mojej usługi: isOk
zwraca wartość Prawda, gdy odpowiedź jest udana i Fałsz, gdy odpowiedź jest niepowodzeniem.
Czy ktoś może pomóc, jak mogę sfałszować żądanie HTTPBuilder i ustawić odpowiedź w GroovyTestCase?
Dzięki za odpowiedź. Nie rozumiem, co ustawi "wynik" na true/false. Czy nie jest to bardziej jak kikut niż makieta? – C0deAttack
Musisz ustawić wynik samodzielnie podczas konfiguracji testu. Na przykład. 'nowy MockHttpBuilder (wynik: true)'. Dodałem alternatywę, która wykorzystuje szydercze kpiny. – ataylor
Odpowiedź Ataylora jest dobra, wprowadziłem prawie taką samą implementację, z tą różnicą, że ustawiłem bezpośrednio stan odpowiedzi, a następnie użyłem go do wykonania prawidłowego zamknięcia z mapowania. Jest to jednak naprawdę kpiąco. Myślę, że właściwym podejściem jest kpić z klienta, który daje odpowiedź. – Gepsens