Junit 方法测试dubbo接口

Junit 方法测试dubbo接口


公司采用dubbo开源框架作为底层的rpc通信技术组件,在实际的工作中,需要测试外部团队的dubbo接口是否工作正常,测试的主要目的确认两个问题:
1、接口有无明显的代码 bug
2、基础的通信网络是否正常工作(即能否ping是否正常)
实际项目中有很多依赖dubbo 接口是外部提供的,使用 @SpringBootTest 单元测试会导致项目再启动的过程中注入各种依赖,且启动时间比较长。因此使用junit 单独测试dubbo接口,可以加快工作效率,代码如下,mark一下:

//dubbo 接口定义
import java.util.List;

public interface InterfaceAPI {

    List<Object> getDataList(Long userId, Long orderId);
}
//dubbo 接口实现
import com.alibaba.dubbo.config.annotation.Service;

import java.util.Arrays;
import java.util.List;

@Service(version = "1.0.0")
public class InterfaceAPIProvider implements InterfaceAPI {
    @Override
    public List<Object> getDataList(Long userId, Long orderId){
        /***
         业务 处理
         ***/
        return Arrays.asList();
    }
}
/**
 * 使用 main 方法 测试
 */

public class JunitTestDubbo {

    @Test
    public void test() {
        // 当前应用配置
        ApplicationConfig application = new ApplicationConfig();
        application.setName("test-consumer");
        application.setOwner("owner");

        // 连接注册中心配置 
        RegistryConfig registry1 = new RegistryConfig();
        registry1.setAddress("zookeeper://xxx1:2181");
        RegistryConfig registry2= new RegistryConfig();
        registry2.setAddress("zookeeper://xxx2:2181");
        RegistryConfig registry3 = new RegistryConfig();
        registry3.setAddress("zookeeper://xxx3:2181");

        //InterfaceAPI 为dubbo接口定义
        ReferenceConfig<InterfaceAPI> reference = new ReferenceConfig();
        reference.setApplication(application);
        reference.setRegistries(Arrays.asList(registry1,registry2,registry3));
        reference.setInterface(InterfaceAPI.class);
        //接口定义的版本号
        reference.setVersion("1.0.0");

        InterfaceAPI interfaceAPI = reference.get();
        List result = interfaceAPI.getDataList(1192161l,4670l);
        System.out.println("===== result " + JSON.toJSONString(result));

    }
}
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值