栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在同一对象上多次调用Mockito.when?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在同一对象上多次调用Mockito.when?

问题之一

Mockito.when
是传递给它的参数是您要存根的表达式。因此,当您
Mockito.when
对同一个方法调用使用两次时,第二次使用它,您实际上会得到第一次插拔的行为。

我实际上建议不要使用

Mockito.when
。使用它时,您可能会陷入很多陷阱–在很多情况下,您需要使用其他语法。“更安全”的替代语法是Mockito方法的“
do”族。

doReturn(value).when(mock).method(arguments ...);doThrow(exception).when(mock).method(arguments ...);doAnswer(answer).when(mock).method(arguments ...);

所以你要

doThrow(new BadSqlGrammarException(??, ??, ??)).when(accountMapper).createBadGrammarException();

如果您从Mockito开始,那么我建议您学习使用“
do”系列。它们是模拟void方法的唯一方法,Mockito文档专门提到了这一点。但是只要可以使用它们就

Mockito.when
可以使用。因此,如果您使用“
do”系列,那么您的测试将具有更高的一致性,并且学习曲线更少。

有关 必须 使用“
do”族的情况的更多信息,请参阅我对形成Mockito“语法”的回答



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454344.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号