2011-03-03 16 views
5

Sto tentando di eseguire il test GWT da Eclipse 3.6, ma sono rimasto bloccato con questo strano errore.Impossibile eseguire il test case GWT: JUnitFatalLaunchException

La classe di test 'com.company.demo.smartgwt.RequestBuilderTest' non è stata trovata nel modulo 'com.company.demo.smartgwt.module'; Nessuna unità di compilazione per quel tipo è stata vista

Si è tentato di aggiungere la cartella di origine in Esegui finestra di dialogo -> classpath e schede di origine come menzionato here. Nessuna fortuna ancora e a corto di opzioni .. Qualche suggerimento gente?

errore stack completo:


com.google.gwt.junit.JUnitFatalLaunchException: The test class 'com.company.demo.smartgwt.RequestBuilderTest' was not found in module 'com.company.demo.smartgwt.module'; no compilation unit for that type was seen 
    at com.google.gwt.junit.JUnitShell.checkTestClassInCurrentModule(JUnitShell.java:718) 
    at com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1317) 
    at com.google.gwt.junit.JUnitShell.runTestImpl(JUnitShell.java:1280) 
    at com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:625) 
    at com.google.gwt.junit.client.GWTTestCase.runTest(GWTTestCase.java:456) 
    at junit.framework.TestCase.runBare(TestCase.java:127) 
    at junit.framework.TestResult$1.protect(TestResult.java:106) 
    at junit.framework.TestResult.runProtected(TestResult.java:124) 
    at junit.framework.TestResult.run(TestResult.java:109) 
    at junit.framework.TestCase.run(TestCase.java:118) 
    at com.google.gwt.junit.client.GWTTestCase.run(GWTTestCase.java:311) 
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
+0

Alcuni suggerimenti interessanti possono essere trovati anche su http://raibledesigns.com/rd/entry/testing_gwt_applications. – koljaTM

risposta

4

Il test GWT non era nello stesso pacchetto della classe in prova .. spostandolo nella stessa confezione risolto questo problema. Strano anche se

+0

I test GWT sono troppo lenti per essere eseguiti, puoi provare a usare Junit e Mockito per velocizzare i test di interazione tra i widget. –

+1

Un utile collegamento sul test delle unità GWT http://blog.hivedevelopment.co.uk/2009 /10/introduction-to-mvp-unit-testing-part.html – MountainRock

15

Il problema è probabilmente che si è eseguito il test come JUnitTest piuttosto che come un Junit Testcase GWT.

In Eclipse, eliminare la configurazione di esecuzione per il test, fare clic con il tasto destro del mouse sulla classe, premere "Esegui come" e selezionare "Test case GWT".

Ha funzionato per me.

Sono d'accordo con altre risposte sul fatto che i test GWT sono troppo lenti, ma sfortunatamente potresti averne bisogno occasionalmente.

+2

Se il "Test Caso GWT" non si presenta, assicurati che il progetto abbia la casella di controllo "Usa Google Web Toolkit" in "Proprietà del progetto- > Google-> Web Toolkit ". –

2

Osserva il tuo metodo GWTTestCase.getModuleName() e assicurati che restituisca il modulo giusto.

Problemi correlati