MST

星途 面试题库

面试题:Kotlin中Mock测试与Mockito - Kotlin基础使用

在Kotlin项目中,如何使用Mockito - Kotlin为一个简单的类创建Mock对象,并对其方法进行模拟调用?请给出示例代码,假设存在一个名为`Calculator`的类,有一个`add`方法接收两个整数参数并返回它们的和。
23.9万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试
  1. 首先添加依赖: 在build.gradle.kts中添加Mockito - Kotlin依赖:
    testImplementation("org.mockito.kotlin:mockito - kotlin:4.1.0")
    
  2. 编写Calculator类:
    class Calculator {
        fun add(a: Int, b: Int): Int {
            return a + b
        }
    }
    
  3. 使用Mockito - Kotlin创建Mock对象并模拟调用:
    import org.junit.jupiter.api.Test
    import org.mockito.kotlin.mock
    import org.mockito.kotlin.whenever
    import kotlin.test.assertEquals
    
    class CalculatorTest {
        @Test
        fun testAddMock() {
            // 创建Calculator的Mock对象
            val calculatorMock: Calculator = mock()
            // 定义模拟行为
            whenever(calculatorMock.add(2, 3)).thenReturn(5)
            // 调用模拟方法
            val result = calculatorMock.add(2, 3)
            assertEquals(5, result)
        }
    }
    

上述代码首先添加了Mockito - Kotlin的依赖,然后定义了Calculator类,接着在测试类CalculatorTest中使用Mockito - Kotlin创建了Calculator的Mock对象,并对add方法进行了模拟调用和断言。