在 Kotlin 中,可以使用 JUnit 和 Mockito 等测试框架对伴生对象(companion object)进行单元测试。以下是一个简单的示例,展示了如何对伴生对象进行单元测试:
首先,这是一个包含伴生对象的 Kotlin 类:
class Calculator {
companion object {
fun add(a: Int, b: Int): Int {
return a + b
}
}
}
接下来,我们将编写一个测试类来测试 Calculator
类的伴生对象中的 add
函数:
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Assertions.assertEquals import org.mockito.Mockito.`when` import org.mockito.Mockito.mock class CalculatorTest { @Test fun testAdd() { // 创建一个伴生对象的 mock 实例 val calculatorMock = mock(Calculator::class.java) // 使用 Mockito 的 `when` 方法定义当调用 `add` 函数时应该返回的值 `when`(calculatorMock.add(1, 2)).thenReturn(3) // 调用伴生对象的 `add` 函数并验证结果 val result = calculatorMock.add(1, 2) assertEquals(3, result) // 验证 `add` 函数是否被正确调用 `when`(calculatorMock.add(3, 4)).thenReturn(7) val result2 = calculatorMock.add(3, 4) assertEquals(7, result2) } }
在这个示例中,我们首先使用 Mockito 创建了一个 Calculator
类的伴生对象的 mock 实例。然后,我们使用 when
方法定义了当调用 add
函数时应该返回的值。最后,我们调用伴生对象的 add
函数并验证结果是否符合预期。