2010-05-16 4 views
7

J'utilise une nouvelle Eclipse. Créer un test de démonstration avec jUnit (j'ai ajouté la bibliothèque par défaut de jUnit intégrée dans Eclipse). Alors je vous écris ce code:Impossible d'exécuter jUnit avec 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); 
    } 
} 

Mais il ne fonctionne pas. Dans l'onglet Débogage:

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 

Comment puis-je résoudre ce problème?

Répondre

5

Vous avez confondu le JUnit 3 et le JUnit 4. Si vous utilisez JUnit 3, nommez vos tests "test *" et héritez de TestCase. Si vous utilisez JUnit 4, utilisez les annotations.

+2

Bien que cela soit vrai, ce n'est pas la * cause première * de ce problème. Copypaste vous-même, placez un point d'arrêt sur 'ClassNotFoundException' et lancez le débogage. Vous voyez, exactement le même problème jusqu'à ce que point de rupture est supprimé. – BalusC

+0

C'est bien de connaître la différence entre les deux versions. –

+0

Comment faire cela? J'écris un nouveau code: import static org.junit.Assert. *; import org.junit.Test; public class SimpleTest { @Test public final void abcTest() { int réponse = 2; assertEquals ((1 + 1), réponse); } } Mais c'est toujours l'erreur – KimKha

6

Supprime les points d'arrêt sur les exceptions lors de l'exécution en mode débogage ou exécute simplement en mode non-débogage.

Dans la vue de débogage, sur la case en haut à droite cliquez sur l'onglet et points d'arrêtdécocher tout point d'arrêt sur une Exception, par exemple ClassNotFoundException et réexécutez le test.

+0

Je n'ai aucun point d'arrêt. Et quand je cours en mode non-debug, il est dit Impossible de trouver la classe principale: org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. Le programme va sortir. – KimKha

+0

@BalusC Merci (encore). Bien que cela n'ait pas aidé KimKha, cela a résolu le problème du mode de débogage que j'avais. – Tim