阅读371 返回首页    go 微信


HSF 单元测试__服务开发_开发者指南_企业级分布式应用服务 EDAS-阿里云

在测试环境中,可以使用 HSF 的 LightApi 依赖做单元测试。具体操作步骤请参考下文。

Demo下载

Maven 依赖 LightApi

  1. <dependency>
  2. <groupId>com.alibaba.hsf</groupId>
  3. <artifactId>LightApi</artifactId>
  4. <version>1.0.0</version>
  5. </dependency>

操作步骤

  1. 创建 ServiceFactory。这里需要设置 Pandora 地址,参数是 SAR 包所在目录。假设 SAR 包地址是 /Users/Jason/Work/AliSoft/PandoraSar/DevSar/taobao-hsf.sar,则只取前面的地址即可,如下:

    1. private static final ServiceFactory factory = ServiceFactory.getInstanceWithPath("/Users/Jason/Work/AliSoft/PandoraSar/DevSar");
  2. 通过代码进行发布和订阅服务。

    1. // 进行服务发布(若有发布者,无需再这里写)
    2. factory.provider("helloProvider")// 参数是一个标识,初始化后,下次只需调用provider("helloProvider")即可拿出对应服务
    3. .service("com.alibaba.edas.unit.service.UnitTestService")// 接口全类名
    4. .version("1.0.0")// 版本号
    5. .group("light")// 组别
    6. .impl(new UnitTestServiceImpl())// 对应的服务实现
    7. .publish();// 发布服务,至少要调用service()和version()才可以发布服务
    8. // 进行服务消费
    9. factory.consumer("helloConsumer")// 参数是一个标识,初始化后,下次只需调用consumer("helloConsumer")即可直接拿出对应服务
    10. .service("com.alibaba.edas.unit.service.UnitTestService")// 接口全类名
    11. .version("1.0.0")// 版本号
    12. .group("light")// 组别
    13. .subscribe();
    14. factory.consumer("helloConsumer").sync();// 同步等待地址推送,最多6秒。
    15. UnitTestService log4jService = (UnitTestService) factory.consumer("helloConsumer").subscribe();// 用ID取出对应服务,subscribe()方法返回对应的接口
    16. // 调用服务方法
    17. System.out.println("bean -> msg rec success:-"+log4jService.print());
  3. 通过 XML 配置进行发布订阅服务。

    1. //XML方式加载服务提供者
    2. new ClassPathXmlApplicationContext("hsf-provider-beans.xml");
    3. //XML方式加载服务消费者
    4. ClassPathXmlApplicationContext consumerContext=new ClassPathXmlApplicationContext("hsf-consumer-beans.xml");
    5. //获取Bean
    6. UnitTestXMLConsumer unitTestXMLConsumer=(UnitTestXMLConsumer) consumerContext.getBean("unitTestConsumer");
    7. //服务调用
    8. unitTestXMLConsumer.testUnitProvider();

最后更新:2016-11-23 16:04:20

  上一篇:go HSF 特性使用__服务开发_开发者指南_企业级分布式应用服务 EDAS-阿里云
  下一篇:go EDAS 中的 Spring Boot 开发__服务开发_开发者指南_企业级分布式应用服务 EDAS-阿里云