Ich bin sehr neu in Kotlin.Wie Code zu testen, der Top-Level-Funktionen in Kotlin aufruft?
Ich habe eine Klasse, die eine Top-Level-Funktion aufruft (die einen http-Aufruf macht). Ich versuche Komponententests für meine Klasse zu schreiben, ohne dass es ins Netzwerk geht.
Gibt es eine Möglichkeit, den Anruf von meiner Klasse auf die Top Level-Funktion von Kotlin abzuspielen/powermock/abzufangen?
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
}
}
}
Es wird mit dem kittinunf/Fuel library für den HttpGet Anruf.
Es fügt String eine Top-Level-Funktion hinzu, die letztendlich eine Companion-Objektfunktion in Fuel (Fuel.get()) aufruft.
Der Komponententest muss den Aufruf von httpGet abfangen, damit ich eine JSON-Zeichenfolge für den Test zurückgeben kann.
Hey Boon .. Haben Sie ein komplettes Beispiel dafür? Ich versuche, Junit-Tests für meine Kotlin Kraftstoffanrufe schreiben –
Ich folgte @ MIENSOL Vorschlag und verwendet Fuel.testMode() und die executeRequest override. – Boon
es wird eine große Hilfe sein, wenn Sie das Code-Snippet posten oder einen GitHub-Link senden können? –