hzdavid / jmockit.cn

JMockit中文网(jmockit.cn)上所有讲述的测试示例源代码
36 stars 15 forks source link

关于Dubbo接口或Spring动态代理的mock #27

Open ggggiaqgyd opened 4 years ago

ggggiaqgyd commented 4 years ago

作者您好:JMockit中文网很详细,非常感谢您。最近在项目中遇到一个问题 http://jmockit.cn/showArticle.htm?channel=3&id=28

在使用这个demo进行dubbo接口的Mock `//dubbo消费bean的MockUp(伪类) @SuppressWarnings("rawtypes") public class DubboConsumerBeanMockUp extends MockUp { // 自定义的消费bean mock对象 private Map<String, Object> mockMap;

public DubboConsumerBeanMockUp() {
}

public DubboConsumerBeanMockUp(Map<String, Object> mockMap) {
    this.mockMap = mockMap;
}

// 对ReferenceBean的getObject方法的Mock
@SuppressWarnings("unchecked")
@Mock
public Object getObject(Invocation inv) throws Exception {
    ReferenceBean ref = inv.getInvokedInstance();
    String interfaceName = ref.getInterface();
    Object mock = mockMap.get(interfaceName);
    if (mock != null) {
        return mock;
    }
    return (new MockUp(Class.forName(interfaceName)) {
    }).getMockInstance();
}

}` 此段代码中的getObject方法不知道什么时候会呗执行

ggggiaqgyd commented 4 years ago

而且调用的时候,没有成功的Mock掉dubbo接口