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

如何模拟影响对象的void返回方法

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

如何模拟影响对象的void返回方法

答案是肯定的,您可以,并且根据测试的需要,基本上可以分为两个级别。

如果只想测试与模拟对象的交互,则可以简单地使用

verify()
方法来验证是否调用了void方法。

如果您的测试确实需要模拟对象来修改传递给它的参数,则需要实现

Answer

编辑 以显示使用带有无效方法的答案的正确形式

doAnswer(new Answer() {    @Override    Object answer(InvocationOnMock invocation) {        Object[] args = invocation.getArguments();        ((MyClass)args[0]).myClassSetMyField(NEW_VALUE);        return null; // void method, so return null    }}).when(mock).someMethod();

在Java 8+中,上述内容通过lambda进行了简化:

doAnswer(invocation-> {    Object[] args = invocation.getArguments();    ((MyClass)args[0]).myClassSetMyField(NEW_VALUE);    return null;}).when(mock).someMethod();


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

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

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