Unit Test(Kotlin ロジックのテスト)サンプル
■ 例:足し算関数のテスト
(src/main/java/…/Calculator.kt)
class Calculator {
fun add(a: Int, b: Int): Int = a + b
}
import org.junit.Assert.assertEquals
import org.junit.Test
class CalculatorTest {
@Test
fun `add should return correct sum`() {
val calculator = Calculator()
val result = calculator.add(2, 3)
assertEquals(5, result)
}
}
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@Composable
fun Greeting(name: String) {
Text(text = "Hello, $name!")
}
import androidx.compose.ui.test.*
import androidx.compose.ui.test.junit4.createComposeRule
import org.junit.Rule
import org.junit.Test
class GreetingTest {
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun greeting_displaysCorrectText() {
composeTestRule.setContent {
Greeting("Android")
}
composeTestRule
.onNodeWithText("Hello, Android!")
.assertIsDisplayed()
}
}
@Composable
fun CounterScreen() {
var count = remember { mutableStateOf(0) }
Column {
Text("Count: ${count.value}")
Button(onClick = { count.value++ }) {
Text("Add")
}
}
}
@Test
fun counter_incrementsWhenButtonClicked() {
composeTestRule.setContent {
CounterScreen()
}
// 初期表示チェック
composeTestRule
.onNodeWithText("Count: 0")
.assertIsDisplayed()
// ボタンクリック
composeTestRule
.onNodeWithText("Add")
.performClick()
// 更新後表示チェック
composeTestRule
.onNodeWithText("Count: 1")
.assertIsDisplayed()
}