Kotlinのテストでassert関数を使う基本と応用例!初心者にもわかる使い方ガイド
生徒
「Kotlinのテストでassertってよく見るけど、どうやって使うんですか?」
先生
「assertは、プログラムの結果が正しいかどうかを確かめるための便利なチェック方法です。JUnitなどのテストでもよく使われますよ。」
生徒
「初心者でも使えるようになりますか?」
先生
「もちろん!簡単な例から基本と応用まで順番に解説しますね。」
1. assert関数とは?
assert(アサート)とは、「これは正しいはず!」という前提条件をプログラムの中に書いて、もし間違っていたらエラーを出す仕組みのことです。
たとえば、「1 + 1 は 2 のはずだよね」ということを、機械に確認させることができます。
2. Kotlinで使える基本のassert文
標準のKotlinでは、assertキーワードを使って簡単なチェックができます。以下は基本の形です。
fun main() {
val result = 1 + 1
assert(result == 2)
}
このコードでは、resultが2であるかを確認します。もし違っていれば、プログラムは止まってエラーを表示します。
3. assert関数を有効にするには?
Kotlinでassertを使う場合、通常は実行時にオプションをつけて「アサートを有効」にする必要があります。
たとえば、IntelliJ IDEAで実行するときには、実行設定に-ea(enable assertions)を追加しましょう。
これをしないと、assertはスキップされてしまいます。
4. JUnitで使うassert関数の種類
Kotlinでは、JUnitを使ったテストでassert系の関数を多く使います。特によく使うのは以下の3つです。
assertEquals(expected, actual):値が同じかを確認assertTrue(condition):条件がtrueかどうかassertFalse(condition):条件がfalseかどうか
5. assertEqualsを使った基本テスト
次は、assertEqualsを使った簡単な例です。これは「計算結果が予想通りか」を確かめる方法です。
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test
class CalculatorTest {
fun add(a: Int, b: Int): Int = a + b
@Test
fun testAdd() {
val result = add(3, 2)
assertEquals(5, result)
}
}
この例では、「3 + 2 は 5 になるよね」ということをテストしています。
6. assertTrueで条件をチェックする
assertTrueは、「ある条件が正しいとき」に使うテスト方法です。以下の例を見てみましょう。
import org.junit.jupiter.api.Assertions.assertTrue
@Test
fun testIsPositive() {
val number = 10
assertTrue(number > 0)
}
このテストでは、「10は0より大きいよね?」ということを確かめています。
7. assertFalseを使う場合
逆に「条件が間違っているとき」に使うのがassertFalseです。
import org.junit.jupiter.api.Assertions.assertFalse
@Test
fun testIsNegative() {
val number = 5
assertFalse(number < 0)
}
この例では、「5はマイナスではないよね?」というチェックになります。
8. 実行結果の例とエラーメッセージ
もしassertが失敗した場合、エラーメッセージが表示されます。
Expected :5
Actual :4
このように、何が期待されていたか、実際はどうだったかが詳しく表示されます。
9. assert関数を活用する応用例
もっと実践的な場面では、例えば「文字列が空でないか」や「リストの中身が正しいか」などもチェックできます。
@Test
fun testStringNotEmpty() {
val text = "Hello"
assertTrue(text.isNotEmpty())
}
@Test
fun testListContainsItem() {
val fruits = listOf("apple", "banana", "grape")
assertTrue(fruits.contains("banana"))
}
こうした応用例を覚えると、実用的なKotlinのテストがどんどん書けるようになります。
10. Kotlin初心者がassert関数を学ぶメリット
assertを使うことで、「プログラムの確認作業」が自動でできるようになります。初心者にとって次のようなメリットがあります。
- エラーを早く見つけられる
- 修正しても動作確認がすぐできる
- 信頼できるコードが書けるようになる
Kotlinのテストではassertが基本中の基本ですので、ぜひ実際に手を動かして覚えていきましょう。