Ktor 에서 Application.kt の test を作成して実行する
前提
Ktor の プロジェクトを web で作成して、IntelliJ で起動して
Chrome で動作が確認できている.
App のtestをする
https://ktor.io/docs/testing.html#overview
procject 生成後의 testApplication の中身 は空なので、
ktor 公式の docs の通りに実装する.
src/kotlin/com/exmaple/ApplicationTest.kt
ここに Application.kt のtestfァirを書く.
import io.ktor.http.*
import kotlin.test.*
import io.ktor.server.testing.*
import com.example.plugins.*
import io.ktor.client.request.*
import io.ktor.client.statement.*
これらの必要なライブラリを 수입
class ApplicationTest {
@Test
fun testRoot() = testApplication {
val response = client.get("/")
assertEquals(HttpStatusCode.OK, response.status)
assertEquals("Hello from Kotlin Ktor", response.bodyAsText())
}
}
ファイル名でクラスを定義.
と宣言
testApplication を使って testRoot という関数の中身に書く.
その後、client.get で Route ファイルと同じく/から取って
HttpStatusCode が OK... 200 ?と
の中身が True なことをtestしていると推測
Response の body が 期待された테크키스트なのを確認
expected:<200 OK> but was:<404 Not Found>
Expected :200 OK
Actual :404 Not Found
しかしこのまま実行してもうまくいかなかった.
class ApplicationTest {
@Test
fun testRoot() = testApplication {
application {
configureRouting()
}
// ......
라우팅이 び付けられていなかったので
このように application の configure を結べつけた.
これで無事, 最初의 시험이 통했다.
まとめ
Ktor でtestを書くためには
http, 서버, 클라이언트 の ktor ライブラリを import し
application の configureRouting を結びつけて
/(으)로부터 응답 を取って
StatusCode と 응답 の 상태
리스폰스 바디 노트
これらをCHECKする コードを書く.
Reference
이 문제에 관하여(Ktor 에서 Application.kt の test を作成して実行する), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kaede_io/ktor-de-applicationkt-no-test-wozuo-cheng-suru-5d2g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)