在分布式开发的时候,将一个需要分成多个模块,需要模块间的调用,那么就会涉及到远程调用的情况。但是在和同事联调之前,总会出现时间对不上的情况,比如他们没有时间跟你对接,那么就不能联调,就有一些流程走不下去了。此时就需要用到mock,制造一些返回,用于将 流程走下去。比如需要调用的一个接口,那么就给一个假的返回结果,模拟调用成功的场景。
你可以直接在代码里面加入返回结果,就是不去调用他的方法,自己开一个方法,手动写返回的响应。我这里通过spring 拦截器和注解来实现一个mock的简易功能。
首先定义一个注解:MockApi
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME) // 运行时
@Target({ElementType.METHOD}) // 用在方法上
public @interface MockApi {
/**
* 需要mock的对象
* @return
*/
Class<?> mockClass();
/**
* 需要mock的方法
* @return
*/
String mockMethod();
}