2010-05-16 19 views
7

Uso el nuevo Eclipse. Crear prueba de demostración con jUnit (agregué la biblioteca jUnit incorporada Eclipse incorporada). Luego escribo este código:No se puede ejecutar jUnit con Eclipse

import junit.framework.*; 

import org.junit.Test; 

public class SimpleTest extends TestCase { 
    public SimpleTest(String name) { 
     super(name); 
    } 
    public final void main(String method){ 

    } 

    @Test 
    public final void testSimpleTest() { 
     int answer = 2; 
     assertEquals((1+1), answer); 
    } 
} 

Pero no se ejecuta. En la pestaña Depurar:

org.eclipse.jdt.internal.junit.runner.RemoteTestRunner at localhost:52754 
Thread [main] (Suspended (exception ClassNotFoundException)) 
URLClassLoader$1.run() line: not available [local variables unavailable] 
AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method] 
Launcher$AppClassLoader(URLClassLoader).findClass(String) line: not available 
Launcher$AppClassLoader(ClassLoader).loadClass(String, boolean) line: not available 
Launcher$AppClassLoader.loadClass(String, boolean) line: not available 
Launcher$AppClassLoader(ClassLoader).loadClass(String) line: not available 

¿Cómo puedo solucionar esto?

Respuesta

5

Usted, como mucha gente, ha confundido el JUnit 3 y el JUnit 4. Si usa el nombre JUnit 3, sus pruebas son "prueba *" y heredan de TestCase. Si está usando JUnit 4 use anotaciones.

+2

Si bien esto es cierto, esta no es la * causa raíz * de este problema. Copiar la pasta de texto usted mismo, poner un punto de interrupción en 'ClassNotFoundException' y ejecutar en depuración. Verá, exactamente el mismo problema hasta que se elimine el punto de interrupción. – BalusC

+0

Es bueno saber la diferencia entre las dos versiones. –

+0

¿Cómo hacer eso? Escribo el nuevo código: import static org.junit.Assert. *; import org.junit.Test; clase pública SimpleTest { @Test public final void abcTest() { int answer = 2; assertEquals ((1 + 1), respuesta); } } Pero sigue siendo el error – KimKha

6

Elimina los puntos de interrupción en Excepciones cuando se ejecuta en modo de depuración, o simplemente se ejecuta en modo no depuración.

En la vista de depuración, en el cuadro de arriba a la derecha haga clic en la pestaña puntos de interrupción y desmarque cualquier punto de interrupción en un Exception, por ejemplo, ClassNotFoundException y vuelva a ejecutar la prueba.

+0

No tengo un punto de interrupción. Y cuando ejecuto en modo no depuración, dice No se pudo encontrar la clase principal: org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. Programa saldrá. – KimKha

+0

@BalusC Gracias (otra vez). Si bien no pudo haber ayudado a KimKha, eso resolvió el problema del modo de depuración que estaba teniendo. – Tim

Cuestiones relacionadas