Тесты JUnit для AspectJ

Я пытаюсь написать тесты Junit для Custom Aspect. Вот фрагмент класса Aspect:

@Aspect
@Component
public class SampleAspect {

    private static Logger log = LoggerFactory.getLogger(SampleAspect.class);

    @Around("execution(* org.springframework.data.mongodb.core.MongoOperations.*(..)) || execution(* org.springframework.web.client.RestOperations.*(..))")
    public Object intercept(final ProceedingJoinPoint point) throws Throwable {
        logger.info("invoked Cutom aspect");
         return point.proceed();

    }

}

Таким образом, вышеупомянутый аспект перехватывает всякий раз, когда точка соединения совпадает с pointcut. Работает нормально.

Но мой вопрос заключается в том, как провести модульное тестирование этого класса. У меня есть следующий тест Junit:

@Test(expected = MongoTimeoutException.class)
    public void TestWithMongoTemplate() {
        //MongoDocument class
        TestDocument test = new TestDocument();

        ApplicationContext ctx = new AnnotationConfigApplicationContext(TestMongoConfigurationMain.class);
        MongoTemplate mongoTemplate = ctx.getBean(MongoTemplate.class);

        //this call is being intercepted by SampleAspect
        mongoTemplate.save(test);

    }

Так что мойmongoTemplate.save(test) в джунит перехватываетсяSampleAspect как это соответствует pointcut. Но как я должен убедиться, что в юнитах (вероятно, утверждая), что мойSampleAspect перехватывает когда вызывается эта точка соединения?

Я не могу утверждать на возвращаемое значение изintercept() поскольку это не делает ничего особенного, кроме выполнения совместной точки. Так что мой Junit не может найти никакой разницы, выполняется ли он аспектом или обычным исполнением на основе возвращаемых значений.

Любые примеры фрагментов кода по аспектному тестированию были бы хороши, если бы предоставили. Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос