2010-12-16 6 views
1

Hallo Ich habe ein Problem, das mich verrückt macht. Ich habe einen Komponententest erstellt, der versucht, ein Objekt zu instanziieren. Wenn es nicht möglich ist, löst es eine Ausnahme ausEclipse und JUnit. Tests bestanden/fehlgeschlagen je nachdem, wo sie ausgeführt werden?

try{ 
    testObject = new Target(2,4,true); 
} 
catch(Exception e){ 
     AssertionError ae = new AssertionError("Unable to create a target"); 
     ae.initCause(e); 
     throw ae; 
} 

Ich habe es dann in einer JUnit-Testsuite platziert. Wenn ich die Suite oder den Test selbst auswähle und auf Ausführen klicke, bekomme ich keine Probleme.

Auf der anderen Seite, in der Eclipse IDE, wenn ich mit der rechten Maustaste auf den gesamten Projektordner und klicken Sie auf JUnit Tests ausführen, geben die Tests, die bestanden haben, jetzt Fehler wie indexoutofbounds. Dieser Test greift nicht auf externe Dateien zu? Wie kann der laufende Standort einen Unterschied machen? Tut Eclipse hier etwas Seltsames?

Gibt es auch eine Möglichkeit, die einzelnen Tests nicht einmal auszuführen und dann alle erneut auszuführen, wenn es die Testsuite-Datei erreicht.

testCreateTarget (unit.targetTest) java.lang.AssertionError: Es kann kein Ziel bei unit.targetTest.testCreateTarget (TargetTest.java:26) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode) erstellen at sun.reflect.NativeMethodAccessorImpl.invoke (Unbekannte Quelle) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (Unbekannte Quelle) bei java.lang.reflect.Method.invoke (Unbekannte Quelle) bei junit.framework.TestCase.runTest (TestCase.java:154) bei junit.framework.TestCase.runBare (TestCase.java:127) bei junit.framework.TestResult $ 1.protect (TestResult.java:106) bei junit.framework.TestResult.runProtected (TestResult.java:124) bei junit.framework.TestResult.run (TestResult.java:109) bei junit.framework.TestCase.run (TestCase.java:118) um junit.framework.TestSuite.runTest (TestSuite.java:208) bei junit.framework.TestSuite.run (TestSuite.java:203) bei junit.framework.TestSuite.runTest (TestSuite.java:208) bei Junit. framework.TestSuite.run (TestSuite.java:203) bei org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run (JUnit3TestReference.java:130) bei org.eclipse.jdt.internal.junit. runner.TestExecution.run (TestExecution.java:38) bei org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:467) bei org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:683) bei org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:390) bei org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:197) verursacht durch: java.lang.IndexOutOfBoundsException: Index: 1, Größe: 0

+0

Können Sie uns den Stack-Trace eines dieser unerwarteten Fehler zeigen? – ShiDoiSi

+0

Könnte das sein, wonach Sie suchen? – Roger

Antwort

0

Das Problem der Tests wurde zuvor ausgeführt änderte den Zustand des Programms. Es scheint, dass es eine Art von kontinuierlicher Ausführung von Tests gibt, wobei modifizierte Variablen durchgehend beibehalten werden.

Verwandte Themen