2016-04-12 14 views
1
class AbstractXYZClass{ 
... 
@AroundInvoke 
public Object intercept(InvocationContext ctx) ... { 
    log("do intercepting"); 
    ctx.proceed(); 
} 
... 
} 

@Stateless 
class XYZClass extends AbstractXYZClass{ 
... 
public void iWantToTestThisMethod() {...} 
... 
} 

(das auf dem Server läuft das Abhören für iWantToTestThisMethod() adaequat)JUnit-Test AroundInvoke Interceptor

In meiner Unit-Tests (mit Nadel ... @ObjectUnderTest(implementation=XYZClass.class) ...) @AroundInvoke nicht erhalten aufgerufen

Wie kann ich JUnit-Test XYZClass::iWantToTestThisMethod mit intercept() abfangen?

Antwort

0

Needle4j ist ein Dependency-Injection- "Simulator", der keine erweiterten Lifecyles und Scopes unterstützt. Sie müssen sich also eine andere Teststrategie ausdenken. Ich würde bei der Injektion und Überprüfung der korrekten Methodeninteraktionen bei nadel4j bleiben, aber für die eigentlichen Framework-Verhaltenstests auf etwas wie CDI-Unit oder Arquillian umschalten.

+0

thx 4 die hinds! Ich werde es mir ansehen .. – HolzHacker