You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中使用Mockito抛出异常时遇问题求助

帮你排查Kotlin测试中抛出异常的问题

嘿,我太懂你这种卡在测试场景里的感觉了——想让存根方法抛出异常来验证业务逻辑的异常处理,但偏偏一直出问题!不过要精准帮你定位问题,还得麻烦你补充几个关键信息:

  • 你用的是哪款测试框架?比如MockK、Mockito还是其他?不同框架的存根抛异常写法差异不小
  • 把你的测试代码片段贴出来吧,尤其是你尝试让makeRequest抛出异常的那段逻辑
  • 你遇到的具体错误是什么?是编译报错?运行时异常不符合预期?还是测试直接跑失败了?

给你举两个常用框架的正确写法参考:
如果用MockK框架,让makeRequest抛出IOException的示例代码:

// 假设依赖类是ApiClient,makeRequest是它的方法
val apiClient = mockk<ApiClient>()
every { apiClient.makeRequest(any(), any()) } throws IOException("模拟请求失败")

// 调用目标方法并验证异常处理逻辑
val result = userService.getUserDataByNameAndRegion("Jakob", "DK")
// 这里断言result符合异常处理后的预期,比如返回空对象或特定错误标识

如果用Mockito-Kotlin,写法会是这样:

val apiClient = mock<ApiClient>()
`when`(apiClient.makeRequest(any(), any())).thenThrow(IOException::class.java)

你可以把你的具体代码和错误信息贴出来,我再帮你针对性调整!

内容的提问来源于stack exchange,提问作者Jakob Nielsen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:02:46