Puedo probar la mayoría de mis clases de primavera sin necesidad de hacer "cosas" de primavera.Pruebas unitarias Primavera @ Alrededor de los métodos AOP
que pueda métodos de asesoramiento @Before prueba unidad sin utilizar resorte demasiado:
código Ejemplo:
@Before("execution(* run(..)) && " + "" +
"target(target) && " +
"args(name)")
public void logName(Object target, String name) {
logger.info("{} - run: {}", target, name);
}
Ejemplo de Ensayo:
@Test
public void testLogName() {
aspect.setLogger(mockLogger);
aspect.logName(this,"Barry");
assertTrue(mockLogger.hasLogged("TestAspect - run: Barry"));
}
ofertas de asesoramiento Sin embargo @Around con un objeto ProceedingJoinPoint :
@Around("com.xyz.myapp.SystemArchitecture.businessService()")
public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
// start stopwatch
Object retVal = pjp.proceed();
// stop stopwatch
return retVal;
}
No sé cómo crear una instancia de un objeto ProceedingJoinPoint. ¿Cómo pruebo esta clase sin comenzar todo el contexto de la aplicación Spring?
¿Podría proporcionar el código completo, cómo ha implementado el caso de prueba para @Before? Necesito ayuda para implementar esto. –