Kotlin:
テストの作成
方法:
Kotlinは、JUnit、Kotest、MockK(モッキング用)など、さまざまなフレームワークを使用したテスト駆動開発をサポートしています。JUnitを使用したシンプルな例を以下に示します:
import org.junit.jupiter.api.Test
import kotlin.test.assertEquals
class CalculatorTest {
@Test
fun `adds two numbers`() {
val calculator = Calculator()
val result = calculator.add(2, 3)
assertEquals(5, result)
}
}
class Calculator {
fun add(a: Int, b: Int): Int = a + b
}
サンプル出力
Test passed.
より洗練されたテストアプローチを使用するには、Kotestを使用した以下の例を参照してください。これは、よりKotlinらしいテスト記述スタイルを提供します:
import io.kotest.core.spec.style.StringSpec
import io.kotest.matchers.shouldBe
class CalculatorSpec : StringSpec({
"adding 2 and 3 should return 5" {
val calculator = Calculator()
calculator.add(2, 3) shouldBe 5
}
})
モックと共にテストするためにMockKを使用する:
import io.mockk.every
import io.mockk.mockk
import org.junit.jupiter.api.Test
import kotlin.test.assertEquals
class ServiceTest {
private val repository = mockk<Repository>()
private val service = Service(repository)
@Test
fun `get data returns mocked data`() {
every { repository.getData() } returns "Mocked Data"
val result = service.getData()
assertEquals("Mocked Data", result)
}
}
class Service(private val repository: Repository) {
fun getData(): String = repository.getData()
}
interface Repository {
fun getData(): String
}
サンプル出力
Test passed.
これらの例は、Kotlinで単体テストを書く基本を示しています。アプリケーションが成長するにつれて、各フレームワークが提供するより高度なテスト技術およびツールを探求することを検討してください。