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

模拟基于反射的呼叫

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

模拟基于反射的呼叫

您需要一个Method对象和一个Class对象。根据您的评论,Mockito无法模拟方法,因此您需要一个真正的方法。我还没有测试过,但是我相信这会起作用。代替:

when(mockContext.getMethod().getName()).thenReturn("someMethod");when(mockContext.getMethod().getDeclaringClass().getName()).thenReturn("someClass");

你需要:

// any method will do, but here is an example of how to get one.Method testMethod = this.getClass().getMethod("logCallTest");when(mockContext.getMethod()).thenReturn(testMethod);

显然,

getName()
将不再返回“
someMethod”,并且
getDeclaringClass().getName()
将返回此测试类的名称(在示例中),但是尽管您无法选择它们返回的内容,但是它们返回的内容仍是确定性的,因此您应该能够验证任何内容你需要。(当然,如果您需要监视或验证是否已对Method对象本身进行了调用,则仍然会遇到问题。)



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

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

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