Komponententest Spring @ Around AOP-Methoden
Kann ich unit test die meisten meiner Feder Klassen ohne Frühling "Zeug".
Kann ich unit test @Vor der Beratung Methoden ohne Verwendung von Spring zu:
Beispiel-code:
@Before("execution(* run(..)) && " + "" +
"target(target) && " +
"args(name)")
public void logName(Object target, String name) {
logger.info("{} - run: {}", target, name);
}
Beispiel testen:
@Test
public void testLogName() {
aspect.setLogger(mockLogger);
aspect.logName(this,"Barry");
assertTrue(mockLogger.hasLogged("TestAspect - run: Barry"));
}
Aber @Um Rat befasst sich mit einer ProceedingJoinPoint Objekt:
@Around("com.xyz.myapp.SystemArchitecture.businessService()")
public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable {
//start stopwatch
Object retVal = pjp.proceed();
//stop stopwatch
return retVal;
}
Ich weiß nicht, wie zu instanziieren ProceedingJoinPoint Objekt. Wie kann ich testen, diese Klasse, ohne den ganzen Frühling Anwendungskontext?
InformationsquelleAutor der Frage slim | 2012-07-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie testen, eine Feder Aspekt durch die Schaffung eines proxy-Programm:
... dann kann man Methoden aufrufen, auf
proxy
und machen Behauptungen über denaspect
proxy
undtarget
.InformationsquelleAutor der Antwort slim