mock记录

使用说明

有两个工程:

dubmok  mock的主要框架

dubmok-cases    用来增加和管理mock用例的工程

如何部署mock:

1.将两个工程内容都放到测试环境服务器上;

2.将dubmok工程下的dist目录下的jar文件和dist/lib下的jar文件发布到测试环境dubbo调用客户端所在的JVM中;

3.在测试环境的dubbo调用客户端的resource下,增加如下目录文件META-INF/dubbo/com.alibaba.dubbo.rpc.Filter,内容如下:

redirectToMockFilter=com.dubbomock.core.DubboFilterForMock

4.将htsc-inttes-dubmok工程下的resource目录下的dubbomock-config.properties,放到测试环境dubbo调用客户端所在的JVM的classpath中;

5.修改dubbomock-config.properties中的dubbomock.dir,地址修改为dubmok-cases工程的mockcases文件夹路径地址;

注意:mock采用的是dubbo的Filter机制,会影响原有流程的执行效率。如果不需要mock的时候(特别是生产环境前),应该去掉部署的mock相关jar和增加的配置文件。

使用方法,定义新的mock:

1.在dubmok-cases工程下,添加新的java类。包名以“com.dubbomock.mockcase”开头,后面的路径不限制。

2.java类必须实现com.dubbomock.api.DubboMockIF接口。(接口依赖的包已经放在dubmok-cases\lib目录下: dubbo-mock-api.jar。)其中,execute返回的Object就是模拟的接口最终返回给客户端的Object。

3.如果mock需要依赖other第三方jar,将jar放置到dubmok-cases工程下的lib目录中,并将这个lib目录加入到测试环境dubbo调用客户端所在的JVM的classpath中。

4.需改conf中的mock-mapping.xml文件,增加如下一段配置:

         <mockcase>

                 <interface>com.htsc.cds.inter.dubbo.IInterProvider</interface><!-- 要模拟的Dubbo接口名称 -->

                 <method>getResourceData</method>                               <!-- 要模拟的Dubbo方法名称 -->

           <mockclass>com.dubbomock.mockcase.demo.MyDemoMockcase</mockclass>   <!-- 刚刚实现Mock的java类 -->

        </mockcase>

5.使用Ant运行build.xml,会自动将新的java类和mock-mapping.xml编译到mockcases目录下。

如果之前的安装部署正确,客户端再调用对应的dubbo接口时,将会由mock返回相应的数据。

猜你喜欢

转载自blog.csdn.net/qq_34117825/article/details/78731086