在Kotlin中編寫單元測試,你可以使用JUnit和Ktor Test等測試框架。這里給出一個簡單的JUnit 5單元測試示例:
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}
class Calculator {
fun add(a: Int, b: Int): Int {
return a + b
}
fun subtract(a: Int, b: Int): Int {
return a - b
}
}
@Test
注解標(biāo)記測試方法。在這個例子中,我們將為Calculator
類的add
和subtract
方法編寫測試用例:import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import static org.junit.jupiter.api.Assertions.assertEquals
class CalculatorTest {
private lateinit var calculator: Calculator
@BeforeEach
fun setUp() {
calculator = Calculator()
}
@Test
fun `add should return the sum of two numbers`() {
val result = calculator.add(3, 4)
assertEquals(7, result, "3 + 4 should equal 7")
}
@Test
fun `subtract should return the difference between two numbers`() {
val result = calculator.subtract(7, 3)
assertEquals(4, result, "7 - 3 should equal 4")
}
}
在這個測試類中,我們使用了@BeforeEach
注解來在每個測試方法執(zhí)行前初始化calculator
對象。然后,我們使用@Test
注解標(biāo)記了兩個測試方法,分別測試add
和subtract
方法的正確性。在測試方法中,我們使用assertEquals
方法來驗證預(yù)期結(jié)果與實際結(jié)果是否相等。
現(xiàn)在,當(dāng)你運(yùn)行這個測試類時,JUnit 5將自動執(zhí)行這些測試方法,并報告測試結(jié)果。