Jestem bardzo nowy w Kotlin.Jak przetestować kod wywołujący funkcje najwyższego poziomu w Kotlin?
Mam klasę, która wywołuje funkcję najwyższego poziomu (która wywołuje http). Próbuję napisać testy jednostkowe dla mojej klasy bez jej wysyłania do sieci.
Czy istnieje sposób na fałszywe/powermock/przechwytywanie połączenia z mojej klasy do funkcji najwyższego poziomu Kotlin?
class MyClass {
fun someMethod() {
// do some stuff
"http://somedomain.com/some-rest/action".httpGet(asList("someKey" to "someValue")).responseString { (request, response, result) ->
// some processing code
}
}
}
Jest używając kittinunf/Fuel library dla wywołania HttpGet.
Dodaje funkcję najwyższego poziomu do String, która ostatecznie wywołuje funkcję obiektu towarzyszącego w Fuel (Fuel.get()).
Test urządzenia musi przechwycić połączenie do httpGet, aby móc zwrócić ciąg jsonów do testu.
Hej Boon .. Czy masz pełny przykład, aby to zrobić? Próbuję napisać testy Junit dla moich połączeń paliwowych Kotlin –
Podążałem za sugestią @ miensol i użyłem Fuel.testMode() i nadpisania executeRequest. – Boon
będzie bardzo pomocne, jeśli możesz opublikować fragment kodu lub wysłać link do github? –