2009-05-13 17 views
6

Speriamo che una domanda facile qui per qualcuno .....debugger non funzionerà con JMockit

sto usando RAD 7.5.2, e sto scrivendo test JUnit. Li stavo scrivendo bene con JUnit 3, e poi volevo prendere in giro alcune chiamate di funzione. Così ho caricato jmockit 0.9.7 e Junit 4.6. Includo anche -javaagent: jmockit.jar come argomento VM.

Quando eseguo "Esegui come test di Junit", non presenta alcun problema (almeno, nessuno che io possa vedere sull'output). L'output di Junit è buono e nessun errore viene scaricato sulla console.

Quando "Debug come test di Junit", non funzionerà. Mi discariche fuori in:

InstrumentationImpl.class -> Fonte non trovato

... e quando ho colpito continuare ....

NativeMethodAccessorImpl.class -> di origine non trovato

... e quando premo continua ...

Il JUnit termina dopo questo. Si scarica il seguente alla console:


Exception in thread "main" java.lang.reflect.InvocationTargetException a sun.reflect.NativeMethodAccessorImpl.invoke0 (metodo natale) a sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:79) a sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) a java.lang.reflect.Method.invoke (Method.java:618) a sun.instrument.InstrumentationImpl.loadClassAndCallPremain (InstrumentationImpl.java:160) causato da: java.lang.UnsatisfiedLinkError: sun/instrument/InstrumentationImpl.redefineClasses0 ([Ljava/lang/strumento/definizione della classe;) V a sun.instrument.InstrumentationImpl.redefineClasses (InstrumentationImpl.java:98) a mockit.internal.RedefinitionEngine.redefineMethods (RedefinitionEngine.java:197) a mockit.internal.RedefinitionEngine.redefineMethods (RedefinitionEngine.java:184) a mockit.internal.RedefinitionEngine.redefineMethods (RedefinitionEngine.java:116) a mockit.internal.RedefinitionEngine.setUpInternalStartupMock (RedefinitionEngine.java:53) a mockit.internal.Startup.loadInternalStartupMocks (avvio. java: 123) a mockit.internal.Startup.initialize (Startup.java:110) a mockit.internal.Startup.premain (Startup.java:97) ... 5 altro

Fatal error: trattamento dei -javaagent fallita


posso correre sia JUnit 3 e 4 JUnit sul mio test senza alcun problema, è quando uso il -javaagent: jmockit.jar (con il debugger; da soli stanno bene) che le cose diventano brutte, e devo farlo per usare la roba di jmockit.

Pensieri?

+0

Ho avuto un problema diverso, che il binario in realtà non allinearsi con il codice sorgente. – zinking

risposta

1

Eseguo regolarmente test JUnit che utilizzano JMockit (con e senza l'argomento JVM "-javaagent") in modalità di debug e non ho mai avuto problemi.

Sei sicuro che il percorso di classe per la configurazione "Debug come test di Junit" è identico a quello di "Esegui come test di Junit"? Dal momento che hai un UnsatisfiedLinkError, è possibile che manchi qualche file jar.

Se questo non è la causa dell'errore, allora forse è qualcosa di specifico per RAD 7.5.2 ...

+0

Sta accadendo anche con RAD 7.5.5; stessi sintomi descritti da Jacob. – Greg