Bir denetleyici sınıfının içinde bulunan bir yönteme özel bir ek açıklama ekledim. Özel açıklamayı bir nokta kesimi olarak gören Aspect sınıfını uyguladım. Yürütme özel ek açıklamaya ulaştığında, sınıfın içinde bulunan ınterceptor yöntemini çağırır .Bu ınterceptor yöntemi, verileri kaydetmek için veritabanını çağıran bir mantık içerir.
Controller sınıfı için testcases yazarken, yukarıda belirtilen ınterceptor yöntemini veritabanı çağrısına karşı koyabilmem için nasıl alay edebilirim ?
Not: Interceptor yönteminin içinde, HandlerInterceptor uygulaması olan başka bir sınıfın yöntemini çağırıyorum
@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";
}
}