首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用RETURNS_DEEP_STUBS模拟接口HttpResponse

如何使用RETURNS_DEEP_STUBS模拟接口HttpResponse
EN

Stack Overflow用户
提问于 2019-05-20 21:27:45
回答 1查看 162关注 0票数 0

当调用这些函数时,我想返回200:

代码语言:javascript
复制
`when`(httpResponse.statusLine.statusCode).thenReturn(200)

httpResponse是由创建的模拟

代码语言:javascript
复制
val httpResponse = mock(HttpResponse::class.java, RETURNS_DEEP_STUBS)

我的问题是,当我使用RETURNS_DEEP_STUBS时,httpResponse是null。我猜这是因为HttpResponse是一个接口(?)。

如果我跳过RETURNS_DEEP_STUBS,我就不能在第一个statusLine之后调用任何函数

有可能模拟这样的界面吗?如果是这样的话,是怎么做的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-20 21:38:03

只需创建另一个mock:

代码语言:javascript
复制
val httpResponseStub = mock(HttpResponse::class.java);
val statusLineStub= mock(StatusLine::class.java);

when(statusLineStub.statusCode).thenReturn(200);
when(httpResponseStub.statusLine).thenReturn(statusLineStub);

循序渐进。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56221980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档