在Kotlin中,可以使用JUnit框架來編寫單元測試和集成測試。下面是一個簡單的示例:
import org.junit.Test
import org.junit.Assert.*
class MyUnitTest {
@Test
fun addition_isCorrect() {
assertEquals(4, 2 + 2)
}
@Test
fun subtraction_isCorrect() {
assertEquals(2, 4 - 2)
}
}
在上面的示例中,我們使用JUnit的@Test注解來標記測試方法,然后使用assertEquals方法來比較實際值和期望值。
import org.junit.Test
import org.junit.Assert.*
import org.mockito.Mockito.*
class MyIntegrationTest {
@Test
fun testIntegration() {
val mockComponent1 = mock(Component1::class.java)
val mockComponent2 = mock(Component2::class.java)
`when`(mockComponent1.someMethod()).thenReturn("mocked value")
val myService = MyService(mockComponent1, mockComponent2)
val result = myService.doSomething()
assertEquals("expected value", result)
}
}
class MyService(private val component1: Component1, private val component2: Component2) {
fun doSomething(): String {
val value1 = component1.someMethod()
val value2 = component2.anotherMethod()
return value1 + value2
}
}
在上面的示例中,我們使用Mockito來模擬Component1的someMethod方法的返回值,并驗證MyService類的doSomething方法的行為。Mockito提供了豐富的功能,可以幫助我們輕松地模擬組件之間的交互和驗證。