Ktor (kotlin web framework) hat einen tollen Testmodus, in dem HTTP-Anfragen in Unit-Tests verpackt werden können. Sie geben ein schönes Beispiel dafür, wie man einen GET-Endpunkt testet here, , aber ich habe Probleme mit einem HTTP-POST.Testen von Anfragen in Ktor
Ich versuchte dies aber die Post params scheinen nicht auf die Anfrage hinzugefügt werden:
@Test
fun testSomePostThing() = withTestApplication(Application::myModule) {
with(handleRequest(HttpMethod.Post, "/api/v2/processing") {
addHeader("content-type", "application/x-www-form-urlencoded")
addHeader("Accept", "application/json")
body = "param1=cool7¶m2=awesome4"
}) {
assertEquals(HttpStatusCode.OK, response.status())
val resp = mapper.readValue<TriggerResponse>(response.content ?: "")
assertEquals(TriggerResponse("cool7", "awesome4", true), resp)
}
}
Wer irgendwelche Ideen?