kotlin - 如何使用 RETURNS_DEEP_STUBS 模拟接口 HttpResponse
问题描述
我想在调用这些函数时返回 200:
`when`(httpResponse.statusLine.statusCode).thenReturn(200)
httpResponse 是由创建的模拟
val httpResponse = mock(HttpResponse::class.java, RETURNS_DEEP_STUBS)
我的问题是httpResponse
当我使用RETURNS_DEEP_STUBS
. 我猜这是因为 HttpResponse 是一个接口(?)。
如果我跳过RETURNS_DEEP_STUBS
,我不能在第一个之后调用任何函数statusLine
可以模拟这样的界面吗?如果有怎么办?
解决方案
只需创建另一个模拟:
val httpResponseStub = mock(HttpResponse::class.java);
val statusLineStub= mock(StatusLine::class.java);
when(statusLineStub.statusCode).thenReturn(200);
when(httpResponseStub.statusLine).thenReturn(statusLineStub);
一步步。
推荐阅读
- php - 如何使用框架 Codeigniter 在 php 中将对象转换为数组
- django - Django 和 Chart.js 未正确呈现图形
- cakephp-3.5 - 假网址缩短器
- python - 在 Python 中使用 sql 查询为 MS 访问中的列设置默认值
- javascript - 格式化 ngb-timepicker 使其返回为字符串而不是对象
- r - 删除 R 中多个未使用的行
- javascript - 在 Nuxt 中使用 Vue 设计系统会引发有关在 system.js 中导出的错误
- basic - 如何在 BASIC 中声明一个常量
- ionic-framework - 在ionic 2中关闭应用程序后如何调用webservice?
- c# - 我可以将数组添加到 DataTable 的一行(C#)