У меня есть аспект.
@Aspect
public class MyAspect {
private MethodInterceptor myInterceptor;
public MyAspect() {
no-op
}
public void setInterceptorFactory(@NonNull final InterceptorFactory interceptorFactory) {
//code
}
@Around("execution(* *(..)) && @annotation(enableMetrics))
public Object logAndProceed(final ProceedingJoinPoint pjp) {
return myInterceptor.invoke(new SimpleMethodInvocation(pjp));
}
}
И я использую его вот так
@EnableMetrics
public GetResponse getContract(args..) {
//code
}
Я занимаюсь ткачеством времени загрузки этого аспекта.
Теперь при выполнении модульных тестов для getContract
, код аспекта также запускается и выдает NPE при возврате из logAndProceed
.
Все, что я хочу, это отключить переплетение аспектов только для тестирования метода getContract
. Есть ли для этого хорошее решение?
Уже видел эту ссылку , сейчас невозможно использовать if () pointcut.