2012年3月31日土曜日

KotlinでJunit4系を使って自動テスト

githubみると、kotlinのテストはjunit3系(Testcaseを継承するやつ)でやっているので、
junit4系(アノテーションベースのやつ)での自動テストの実行方法を調べてみた。

テストコード

基本的にJavaでテストコード書く時と違いはない感じですね。
必要なアノテーションをimportしてあげて、メソッドの宣言時に指定してあげるだけです。
違いがあるとしたら、Javaとは異なりアノテーションを示す「@」は不要なとこですね。

あと、静的なメソッド作れないのでBeforeClassAfterClassを使っての、
テストクラスの初期処理と終了処理は実装できない感じです。(俺の知識が足りないだけかも?)

※junit4系でのテストコードの実装方法なので、ターゲットのコードは作ってません。
import org.junit.Before
import org.junit.After
import org.junit.Test

class SampleTest {

  Before fun setUp() {
    println("setUp")
  }

  After fun tearDown() {
    println("tearDown")
  }


  Test fun test1() {
    println("test1")
  }

  Test fun test2() {
    println("test2")
  }
}

実行結果

Javaと同じように、BeforeTestAfterが繰り返されているのがわかりますね。
setUp
test1
tearDown
setUp
test2
tearDown