如何模拟Aspect类的方法



我在控制器类中的一个方法上添加了一个自定义注释。我已经实现了Aspect类,它将自定义注释视为切入点。一旦执行到达自定义注释,它就会调用类中存在的拦截器方法。这个拦截器方法包含一个调用数据库以保存数据的逻辑。

在为控制器类编写测试用例时,我如何模拟上面提到的拦截器方法,以便抵制数据库调用?

注意:在拦截器方法内部,我正在调用另一个类的方法,该类是HandlerInterceptor 的实现

@Aspect
class SampleAspect {
@Around("execution(@Xyz)")
public Object interceptor(ProceedingJoinPoint jointPoint) {
// database logic
}
}
@RestController 
class SampleController {
@GetMapping("/{id}")
@Xyz
public String getdata(String id) {
return "hello";
}
}

我写了两个你可能感兴趣的答案:

  • 如何对一个方面进行单元测试
  • 如何集成测试一个方面

请从那里开始,如果你有任何后续问题,请告诉我,更新你自己的问题,并准确显示你正在尝试做什么。

最新更新