2010-05-16 16 views
7

Używam nowego Eclipse. Utwórz test demo za pomocą jUnit (dodałem domyślną bibliotekę jUnit wbudowaną Eclipse). Następnie piszę ten kod:Nie można uruchomić jUnit z 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); 
    } 
} 

Ale nie działa. Na karcie Debugowanie:

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 

Jak mogę to rozwiązać?

Odpowiedz

5

Ty, tak wielu ludzi, pomyliłeś JUnit 3 i JUnit 4. Jeśli używasz JUnit 3, nazwij swoje testy "testem" i dziedzicz z TestCase. Jeśli korzystasz z JUnit 4, użyj adnotacji.

+2

Chociaż jest to prawdą, nie jest to * główna przyczyna * tego problemu. Kopiuj siebie, umieść punkt przerwania na 'ClassNotFoundException' i uruchom debugowanie. Widzisz, dokładnie ten sam problem, dopóki punkt przerwania nie zostanie usunięty. – BalusC

+0

Miło poznać różnicę między dwiema wersjami. –

+0

Jak to zrobić? Napisz nowy kod: import statyczny org.junit.Assert. *; import org.junit.Test; Publiczna klasa SimpleTest { @ Test publiczna ostatnia pustka abcTest() { int answer = 2; assertEquals ((1 + 1), odpowiedź); } } Ale nadal jest błąd – KimKha

6

Usuń punkty przerwania w wyjątkach podczas działania w trybie debugowania lub po prostu uruchom w trybie bez debugowania.

W widoku debugowania, na prawym górnym oknie kliknąć breakpoints kartę i Odznacz żadnego przerwania na przykład, w ExceptionClassNotFoundException i uruchom ponownie test.

+0

Nie mam punktu przerwania. Po uruchomieniu w trybie bez debugowania nie można znaleźć głównej klasy: org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. Program zostanie zamknięty. – KimKha

+0

@BalusC Dzięki (znowu). Chociaż nie pomogło to KimKha, rozwiązało to problem z trybem debugowania, który miałem. – Tim

Powiązane problemy