首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >关于JMockit的Partial mocking问题,怎么实现动态修改某个对象的方法的?

关于JMockit的Partial mocking问题,怎么实现动态修改某个对象的方法的?

提问于 2018-08-22 18:59:15
回答 0关注 0查看 450

在使用JMockit的Mocking方式,且模拟的是一个dubbo方法时的实现原理很困惑。例如:

@Test

public void getNameTest() {

String name1=myObj.getName(); //name1的值是zhangsan

new NonStrictExpectations(myObj) { { myObj.getName();result="aaabbb" } }

String name2=myObj.getName(); //name1的值是aaabbb

}

myObj对象是spring注入的dubbo代理对象,但是在执行测试用例时并没有调用dubbo服务,直接返回"aaabbb"。

我现在有两种想法,但又觉得都不对:

1:asm动态的修改了myObj类的getName方法的实现。但是对象myObj没变,动态修改了方法直接生效吗?

2:JMockit内部标记了myObj对象的getName方法,在重放时直接调用mock的方法,但是debug时没看到相关的代码。

请大神们不惜赐教啊

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

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