#19 Kotlinで学ぶテスト(単体テスト)の基本

Kotlinで関数やクラスを書いた後、それが正しく動くかをmain関数で毎回手作業で確認していませんか?この記事では、Kotlinで書いたコードを自動でチェックする「テスト」の基本を解説します。

なぜテストを書くのか

コードを修正するたびに、関連する処理が壊れていないかを手作業で確認するのは大変です。テストを用意しておけば、コマンド一つで動作確認ができ、安心してコードを直せるようになります。

kotlin.testを使ったテストの書き方

Kotlinでは標準のkotlin.testや、Javaでも使われるJUnitがよく使われます。

fun add(a: Int, b: Int): Int {
    return a + b
}
import kotlin.test.Test
import kotlin.test.assertEquals

class CalculatorTest {
    @Test
    fun testAdd() {
        assertEquals(5, add(2, 3))
    }
}

関数の上に@Testという目印(アノテーション)を付けるだけでテストとして認識されます。assertEquals(期待値, 実際の値)という順番で書きます。

異常系もテストしておく

正しい入力だけでなく、境界値(0やマイナスの値など)を渡した時の挙動もテストしておくと安心です。

@Test
fun testAddWithZero() {
    assertEquals(0, add(0, 0))
}

例外の発生もテストする

特定の条件で例外が発生することを確認したい場合はassertFailsWithが使えます。

@Test
fun testDivideByZero() {
    assertFailsWith {
        divide(10, 0)
    }
}

「エラーが起きるべき場面で、実際にエラーが起きるか」を確認しておくことで、意図しない仕様変更に気づきやすくなります。

Kotlinならではの注意点

Kotlinはnull安全という仕組みがあり、nullを許容する型(String?など)を扱う関数では、nullを渡した時の挙動もテストしておくと安心です。null許容型の扱いを間違えると実行時エラーになりやすいため、意図的にnullを渡すテストケースを用意しておくとバグの早期発見につながります。

まとめ

テストは「正しく動くことを保証する仕組み」であり、安心してコードを修正するための土台になります。@Test・assertEquals・assertFailsWithから始めて、null許容型のテストにも意識を向けてみてください。

関連記事


本ページはプロモーションを含みます。

参考書籍(PR)

Kotlinをもっと学びたい方には「やさしいKotlin入門」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本