如何单元测试aop(方面类)

时间:2012-06-20 16:44:24

标签: junit aop aspectj

如何使用JUnit4单元测试以下方法??

public Object invoke(ProceedingJoinPoint joinPoint) throws Throwable {
    Object serviceObject = null;
    BaseServiceRequest baseServiceRequest = null;
    ServiceContext serviceContext = null;

    baseServiceRequest = (BaseServiceRequest) joinPoint.getArgs()[0];
    if (baseServiceRequest == null)
        ExceptionHandlerUtil.createExceptionType("SL","BaseServiceRequest cannot be empty", new Object[] {});

    serviceContext = baseServiceRequest.getServiceContext();
    ExceptionHandlerUtil.createExceptionType("SL","ServiceContext cannot be empty", new Object[] {});
    createServiceInvocationInterceptor(baseServiceRequ est,joinPoint);

    serviceObject = getServiceObject(serviceContext, joinPoint);
    serviceContext.getMethodInvocationEvent().setReturnValue(serviceObject);

    return serviceObject;
}

1 个答案:

答案 0 :(得分:0)

我不知道这是否是你想知道的,因为这个问题有点不清楚,但是如果你想知道如何模拟生产方面用于单元测试的对象,你可以使用另一个方面 - 让我们来电话它是元方面或测试方面 - 为了做到这一点。我在How to mock an aspect下描述了一种方法。