kotlinでJunitをやってみました
Javaをやってたので抵抗はないんですが、Junitをやってバグに気づけたので、導入することをお勧めします。
なので、手順を残したいと思います。
①プラグインの追加
Junitをやるためにプラグインを追加します。
AndroidStudioで開発しているんですが、もともと入っていたので、追加する必要がない人が多いかもしれません。
build.gradle(Module:app)に下記を追加します。
dependencies {
testImplementation 'junit:junit:4.12'
}
これでテストコードが書けるようになります。
②テストコードの記載
Junitに関しては、(test)フォルダーに格納します。
(androidTest)フォルダーにはEspresso等のUIテストを入れます。
今回テスト対象コードは下記になります。
fun addCalculate(num1: Integer, num2: Integer): Integer? {
var addNum = num1 + num2
return addNum
}
テスト用フォルダーにファイルを追加したら、テストコードを記載します。
@Test
fun DateUtilTest_OK_001() {
var calUtil = CalculateUtil
val addNum = calUtil.addCalculate(1,2)
Assert.assertEquals(addNum, 3)
}
テストを実行するには下記2点を意識する必要があります。
① @Test
をつけてテストケースだと認識させる
②テスト対象メソッドをテストで使えるようにする
②に関してですが、クラスをインスタンス化して、対象のメソッドを呼び出し、引数に実際の値を入れて、戻り値が想定通りであることを確認するのが一通りの流れだと思います。
※今回は対象の実装がUtilでObjectにしているため初期化が上記になっています。
これで、実行できるはずなので、テストクラスを指定して、Runします。
※AndroidStudioではテストケース右クリック→'Run 〇〇〇〇Test'を押すとできます。
動作確認である程度の担保は取れますが、Junitを合わせることで、画面確認前にバグに気づけるのと、仕様の理解を深めることができるので、使ったほうがいいと感じました。
今後はMockも使ってみたいと思いました。