推荐答案
// www.javascriptcn.com code example
// 1. 添加依赖
// 在 build.gradle 文件中添加 Mockito 依赖
dependencies {
testImplementation 'org.mockito:mockito-core:4.0.0'
testImplementation 'org.mockito.kotlin:mockito-kotlin:4.0.0'
}
// 2. 创建被测试类
class Calculator {
fun add(a: Int, b: Int): Int {
return a + b
}
}
// 3. 创建测试类
import org.junit.jupiter.api.Test
import org.mockito.Mockito.*
import org.mockito.kotlin.mock
class CalculatorTest {
@Test
fun testAdd() {
// 创建模拟对象
val calculator: Calculator = mock()
// 定义模拟行为
`when`(calculator.add(1, 2)).thenReturn(3)
// 调用模拟方法
val result = calculator.add(1, 2)
// 验证结果
assert(result == 3)
verify(calculator).add(1, 2)
}
}本题详细解读
1. 添加依赖
在 Kotlin 项目中使用 Mockito 进行模拟测试,首先需要在 build.gradle 文件中添加 Mockito 的依赖。Mockito 提供了对 Kotlin 的良好支持,因此推荐使用 mockito-kotlin 库来简化代码。
2. 创建被测试类
在示例中,我们创建了一个简单的 Calculator 类,其中包含一个 add 方法,用于计算两个整数的和。
3. 创建测试类
在测试类中,我们使用 mock() 函数创建了一个 Calculator 的模拟对象。然后,使用 when 方法定义了模拟对象的行为,即当调用 add(1, 2) 时返回 3。接着,我们调用模拟对象的 add 方法,并使用断言验证结果是否符合预期。最后,使用 verify 方法验证 add 方法是否被正确调用。
4. 注意事项
- 使用
mockito-kotlin库可以简化 Kotlin 中的 Mockito 使用,避免一些常见的陷阱。 - 在定义模拟行为时,确保使用
when方法而不是when关键字,因为when是 Kotlin 中的保留字。 - 使用
verify方法可以验证模拟对象的方法是否被调用,以及调用的参数是否符合预期。