Kotest Ktor 확장
Ktor 확장에 대해서 설명한다.
kotest-assertions-ktor
모듈은 Ktor 애플리케이션에 대한 응답 매처를 제공한다. 서버 사이드 테스트 지원을 사용하는 경우 TestApplicationResponse
에 대한 매처와 ktor HTTP 클라이언트를 사용하는 경우 HttpResponse
에 대한 매처가 모두 있다.
Ktor 매처를 추가하려면 프로젝트에 다음 종속성을 추가해야 한다.
io.kotest.extensions:kotest-assertions-ktor:${version}
서버 사이드 테스트 지원과 함께 매처를 사용하는 예제이다:
withTestApplication({ module(testing = true) }) {
handleRequest(HttpMethod.Get, "/").apply {
response shouldHaveStatus HttpStatusCode.OK
response shouldNotHaveContent "failure"
response.shouldHaveHeader(name = "Authorization", value = "Bearer")
response.shouldNotHaveCookie(name = "Set-Cookie", cookieValue = "id=1234")
}
}
그리고 클라이언트 지원 사용 예제이다:
val client = HttpClient(CIO)
val response = client.post("http://mydomain.com/foo")
response.shouldHaveStatus(HttpStatusCode.OK)
response.shouldHaveHeader(name = "Authorization", value = "Bearer")
참조
최종 수정 : 2024-04-21