首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决嘲弄mock<RestTemplate> getForObject时的歧义?

如何解决嘲弄mock<RestTemplate> getForObject时的歧义?
EN

Stack Overflow用户
提问于 2021-12-15 13:22:30
回答 1查看 665关注 0票数 1

使用com.nhaarman.mockitokotlin2测试restTemplate.getForObject(url, Int::class.java),url是String!的类型。

试图嘲弄RestTemplate::getForObject

代码语言:javascript
运行
复制
val restTemplate = mock<RestTemplate> {
        on { getForObject(any(), any()) } doReturn ResponseEntity.ok(Object())
    }

但是得到一个错误:

代码语言:javascript
运行
复制
Overload resolution ambiguity. All these functions match.
public open fun <T : Any!> getForObject(url: URI!, responseType: Class<TypeVariable(T)!>!): TypeVariable(T)! defined in org.springframework.web.client.RestTemplate
public open fun <T : Any!> getForObject(url: String!, responseType: Class<TypeVariable(T)!>!, vararg uriVariables: Any!): TypeVariable(T)! defined in org.springframework.web.client.RestTemplate

代码语言:javascript
运行
复制
Type mismatch.
Required:
Unit
Found:
ResponseEntity<Object!>!

请帮帮忙,我是科特林新来的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-15 16:35:39

你需要告诉莫基托,它应该期待一个String作为第一次争论。尝试以下几点:

代码语言:javascript
运行
复制
val restTemplate = mock<RestTemplate> {
    on { getForObject(anyString(), eq(Int::class.java)) } doReturn 200
}

您可以在anyString()中阅读更多关于参考文献的内容。

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

https://stackoverflow.com/questions/70364458

复制
相关文章

相似问题

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