Я хотел бы создать пользовательскую аннотацию для методов JUnit @Test
, которая переключает функции:
@Test
@UsingFeature("abc")
public void someTestMethod() { ... }
Я создал соответствующую аннотацию
public @interface UsingFeature {
String value();
}
А аспект
@Aspect
public class UsingFeatureAspect {
@Pointcut("execution(@mypackage.UsingFeature * * (..))")
public void allAnnotatedMethods() { }
@Before("allAnnotatedMethods()")
public void switchFeatureOn() {
// switch feature on
}
@Before
@AfterReturning(pointcut = "allAnnotatedMethods()", returning = "result")
public void switchFeatureOff(JoinPoint joinPoint, Object result) {
// switch feature off
}
}
Но мои аспектные функции никогда не вызываются. Что я не так делаю?