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) |
レスポンスに指定した Cookie が含まれることを確認する。 |
TestApplicationResponse.shouldHaveCacheControl(value) |
レスポンスに指定した cache-control ヘッダーが含まれることを確認する。 |
TestApplicationResponse.shouldHaveETag(value) |
レスポンスに指定した ETag ヘッダーが含まれることを確認する。 |
TestApplicationResponse.shouldHaveContentEncoding(value) |
レスポンスに指定した content-encoding ヘッダーが含まれることを確認する。 |
HttpResponse
Ktor HTTP クライアントのレスポンスには、次のマッチャーを使用できる。
| マッチャー | 説明 |
|---|---|
HttpResponse.shouldHaveStatus(HttpStatusCode) |
レスポンスが指定した HTTP ステータスコードを持つことを確認する。 |
HttpResponse.shouldHaveContentType(ContentType) |
レスポンスが指定したコンテンツタイプを持つことを確認する。 |
HttpResponse.shouldHaveHeader(name, value) |
レスポンスに指定した name=value ヘッダーが含まれることを確認する。 |
HttpResponse.shouldHaveVersion(HttpProtocolVersion) |
レスポンスが指定したプロトコルバージョンを使用したことを確認する。 |
HttpResponse.shouldHaveCacheControl(value) |
レスポンスに指定した cache-control ヘッダーが含まれることを確認する。 |
HttpResponse.shouldHaveETag(value) |
レスポンスに指定した ETag ヘッダーが含まれることを確認する。 |
HttpResponse.shouldHaveContentEncoding(value) |
レスポンスに指定した content-encoding ヘッダーが含まれることを確認する。 |