Skip to content

Kotlin test + Spring Boot を試す

先日、Kotlin test の Spec を初めて見て、一目惚れしました。参考
こんな感じに書けます!

class MyTests : StringSpec({
  "strings.length should return size of string" {
    "hello".length shouldBe 5
  }
})

「 length shouldBe 5 」と書けるのがとっても分かり易いと思う。
ちなみに、infix notation という記法でshouldBe という関数が準備されているらしいです。

早速やってみたのですが、本家のマニュアルでは私はうまくセットアップできなかったので、セットアップ時に躓いた点を残しておきます。

(1) kotlin をバージョン1.3 にする

plugins {
  ...
  kotlin("jvm") version "1.3.50"
  kotlin("plugin.spring") version "1.3.50"
}
私は intelliJ を使っているので、上記記載後に File –> Invalidate Caches / Restart を行う必要があった。

 

(2) gradle にtask.text を追記する。参考

tasks.test {
  useJUnitPlatform()
}

 

(3) 依存物を追加
testImplementation("org.jetbrains.kotlin:kotlin-test")
testImplementation("io.kotlintest:kotlintest-runner-junit5:3.4.2")
testImplementation("io.kotlintest:kotlintest-extensions-spring:3.4.2")

 

(4) ProjectConfig はパッケージ名を変更してはいけない
このクラスのためだけに、アプリのパッケージとは別のパッケージを作ることになるけど、仕方ないね。中身はこの通り。

package io.kotlintest.provided
object ProjectConfig : AbstractProjectConfig() {
  override fun listeners(): List = listOf(SpringListener)
}

 

では。ソースはこちら

Comments are closed.