2009-05-13 25 views
6

Con suerte una pregunta fácil para alguien aquí .....depurador no funcionará con JMockit

estoy usando RAD 7.5.2, y escribo pruebas JUnit. Los estaba escribiendo bien con JUnit 3, y luego quería simular algunas llamadas a funciones. Así que cargué jmockit 0.9.7 y Junit 4.6. También incluyo -javaagent: jmockit.jar como un argumento de VM.

Cuando "Ejecutar como prueba Junit", va junto con ningún problema en absoluto (al menos, ninguno que puedo ver en la salida). La salida de Junit es buena y no se arrojan errores a la consola.

Cuando "Depurar como prueba Junit", no funcionará. Me vuelca hacia fuera en:

InstrumentationImpl.class -> origen no encontrado

... y cuando llegué a continuar ....

NativeMethodAccessorImpl.class -> origen no encontrado

... y cuando presiono continuar ...

El JUnit termina después de esto. Se vuelca el siguiente en la consola:


Excepción en el hilo "principal" java.lang.reflect.InvocationTargetException en sun.reflect.NativeMethodAccessorImpl.invoke0 (Nativo Método) en sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:79) en sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) en java.lang.reflect.Method.invoke (Method.java:618) en sun.instrument.InstrumentationImpl.loadClassAndCallPremain (InstrumentationImpl.java:160) Causado por: java.lang.UnsatisfiedLinkError: sun/instrument/InstrumentationImpl.redefineClasses0 ([Ljava/lang/instrumento/ClassDefinition;) V en sun.instrument.InstrumentationImpl.redefineClasses (InstrumentationImpl.java:98) en mockit.internal.RedefinitionEngine.redefineMethods (RedefinitionEngine.java:197) en mockit.internal.RedefinitionEngine.redefineMethods (RedefinitionEngine.java:184) en mockit.internal.RedefinitionEngine.redefineMethods (RedefinitionEngine.java:116) en mockit.internal.RedefinitionEngine.setUpInternalStartupMock (RedefinitionEngine.java:53) en mockit.internal.Startup.loadInternalStartupMocks (inicio. java: 123) en mockit.internal.Startup.initialize (Startup.java:110) en mockit.internal.Startup.premain (Startup.java:97) ... 5 más

Fatal error: procesamiento de -javaagent no


puedo correr tanto JUnit JUnit 3 y 4 en mis pruebas con ningún problema, que es cuando se utiliza la -javaagent: jmockit.jar (con el depurador; por sí mismos están bien) que las cosas se ponen feas, y tengo que hacer eso para usar las cosas jmockit.

¿Pensamientos?

+0

que tenían un tema diferente, que el binario en realidad no se alinean con el código fuente. – zinking

Respuesta

1

Ejecuto regularmente pruebas de JUnit que usan JMockit (con y sin el argumento de JVM "-javaagent") en modo de depuración, y nunca tuve ningún problema.

¿Está seguro de que la ruta de clases para la configuración "Depurar como prueba de Junit" es idéntica a la de "Ejecutar como prueba de junio"? Como obtuvo un UnsatisfiedLinkError, es posible que falte algún archivo jar.

Si eso no es la causa del error, entonces tal vez es algo específico de RAD 7.5.2 ...

+0

También está sucediendo con RAD 7.5.5; los mismos síntomas que Jacob describió. – Greg

Cuestiones relacionadas