閱讀371 返回首頁    go windows


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-阿裏雲