Kotest Ktor 매처(Ktor Matchers)
Ktor 매처에 대해서 설명한다.
코드는 별도의 저장소와 다른 그룹인 io.kotest.extensions
에 보관된다.
implementation("io.kotest.extensions:kotest-assertions-ktor:version")
implementation "io.kotest.extensions:kotest-assertions-ktor:version"
Ktor에 대한 매처는 kotest-assertions-ktor
모듈에서 제공된다.
Test Application Response
ktor 서버 테스트킷을 통해 테스트할 때 다음 매처가 사용된다.
매처 | 설명 |
---|---|
TestApplicationResponse.shouldHaveStatus(HttpStatusCode) |
응답에 주어진 http 상태 코드가 있는지 확인한다. |
TestApplicationResponse.shouldHaveContent(content) |
응답에 주어진 본문이 있는지 확인한다. |
TestApplicationResponse.shouldHaveContentType(ContentType) |
응답이 주어진 콘텐츠 유형을 가지고 있는지 확인한다. |
TestApplicationResponse.shouldHaveHeader(name, value) |
응답에 주어진 name=value 헤더가 포함되어 있는지 확인한다. |
TestApplicationResponse.shouldHaveCookie(name, value) |
응답에 주어진 쿠키가 포함되어 있는지 확인한다. |
TestApplicationResponse.shouldHaveCacheControl(value) |
응답에 주어진 캐시 제어 헤더가 포함되어 있는지 확인한다. |
TestApplicationResponse.shouldHaveETag(value) |
응답에 주어진 etag 헤더가 포함되어 있는지 확인한다. |
TestApplicationResponse.shouldHaveContentEncoding(value) |
응답에 지정된 콘텐츠 인코딩 헤더가 포함되어 있는지 확인한다. |
HttpResponse
ktor http 클라이언트의 응답에 대해 다음 매처를 사용할 수 있다.
매처 | 설명 |
---|---|
HttpResponse.shouldHaveStatus(HttpStatusCode) |
응답에 주어진 http 상태 코드가 있는지 확인한다. |
HttpResponse.shouldHaveContentType(ContentType) |
응답이 주어진 콘텐츠 유형을 가지고 있는지 확인한다. |
HttpResponse.shouldHaveHeader(name, value) |
응답에 주어진 name=value 헤더가 포함되어 있는지 확인한다. |
HttpResponse.shouldHaveVersion(HttpProtocolVersion) |
응답이 주어진 프로토콜 버전을 사용했음을 확인한다. |
HttpResponse.shouldHaveCacheControl(value) |
응답에 주어진 캐시 제어 헤더가 포함되어 있는지 확인한다. |
HttpResponse.shouldHaveETag(value) |
응답에 주어진 etag 헤더가 포함되어 있는지 확인한다. |
HttpResponse.shouldHaveContentEncoding(value) |
응답에 지정된 콘텐츠 인코딩 헤더가 포함되어 있는지 확인한다. |
참조
최종 수정 : 2024-04-21