前言接上一篇动态创建自定义Bean,这篇我们来创建MysQL多数据源。自定义Bean实现我用的是BeanDefinitionRegistryPostProcessor。连接池用的是alibaba的DruidDataSource。支持全局的数据源统一启动。Bean定义基本上和上一篇的定义差不多就不再赘
前言有时候我们需要在应用启动的时候根据某些规则动态创建一个Bean对象,我们应该要考虑一些事情。对象是否在创建后才能使用,这样避免有些对象在定义的时候就由于Bean创建的顺序问题导致Bean都没有初始化给容器就被使用了,这样启动的时候出现一些null异常。对象的属性从第三方配置中心获取,这些配置是否
前言打桩某个类或接口一般用两个注解:@Mock和@Spy,一般用Mock是最多的。下面我们看看两个示例。Mock@Mock是不执行具体对象内的方法逻辑,该注解用bytebuddy生成的是一个代理子类非真实方法,返回的都是NULL或Empty。基本配合when…thenReturn返回需要的对象值即可
前言前面基本都是接口后端类的测试,这章聊一下web端的http服务如何测试。我们使用junit测试web的时候不得不起一个完整的服务后调用才能够进入controller代码里面,就如下代码:@Controller@RequestMappingpublic class WarehouseControl
正常场景测试技巧在这半个月我写的单元测试用例代码中,遇到了很多问题,比如私有变量、方法内部new对象、静态方法mock等,有些代码我们确实难以模拟的,我把我的解决方式跟大家分享一下。各种service接口模拟// Spring里面的接口、Dubbo接口等注入public class TestServ
前言上一章说到了RocketMQ在EvnetBus包装下的测试工具。本章主要讲MSF EventBus生产者操作。EventBus 生产者模拟测试请看下面实例:import com.alibaba.fastjson.JSONObject;import com.cdg.msf.event.bus.ba
前言在消息中间件中我们要模拟的是收发信息的动作,MQ这类的是依赖第三方消息中间件的,除去启动消息中间件去消费消息这一动作外,其实我们最关心的是我们接受到消息后怎么处理的问题,那么收消息是MQ中多线程去拉取数据的,也是官方jar提供工具类帮我们做的,所以我们需要入手的就是模拟有人给我们发消息,这个接收
1:前言上一章说到了Redis测试工具,我们需要模拟的是Redis连接挡板。本章主要讲如何在单元测试中模拟Mongo服务器操作。还是一如既往的不使用真正的服务器,直接用mock挡板。2:Mongo模拟测试请看下面实例:import com.google.common.collect.Lists;im