溫馨提示×

Kotlin伴生對象如何進行單元測試

小樊
94
2024-11-01 22:01:06
欄目: 編程語言

在 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 函數并驗證結果是否符合預期。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女