2010-02-27 1 views
10

Ich habe alle Beispiele im Internet gesehen und es scheint wirklich einfach. Ich habe eine einfache App, die eine Zeichenfolge anzeigt. Ich habe ein Android JUnit-Testprojekt, das ich erstellt habe, als die App erstellt wurde (Eclipse gefragt, ob ich eine Test-App erstellen wollte).Versuchen Sie Android JUnit Tests in Eclipse auszuführen fehlgeschlagen?

Wenn ich ausführen, um die Test-App (Run As --- Android JUnit) Ich sehe die folgenden in der Konsole ....

[2010-02-27 00.45.03 - SimpleCalculatorTest] Starten Instrumentierung android.test.InstrumentationTestRunner auf dem Gerät emulator-5554 [2010-02-27 00:45:12 - SimpleCalculatorTest] Testlauf abgeschlossen

Ich sehe keinen Code im Testfall aufgerufen werden. Mein Testfall ist eine Klasse, die ActivityInstrumentationTestCase2 erweitert. DDMS Protokoll zeigt: 02-27 00: 44: 58,521: WARN/TestGrouping (1275): Ungültige Paket: '' konnte nicht gefunden werden oder hat keine Tests

Irgendwelche Ideen? Ich habe alles versucht ....

Antwort

10

Wenn Sie eine neue ActivityInstrumentationTestCase2 erstellen, dann benötigen Sie einen Standardkonstruktor, der auf die Klasse zeigt, die Sie testen möchten.

ex:

public class TestappTest extends ActivityInstrumentationTestCase2<AppUnderTest> { 

    public TestappTest() { 
    super("my.package.app", AppUnderTest.class); 
    } 

    public void testApp() { 
     // Testcase 
    } 
} 
+4

Für diejenigen, die lesen, ist dieser Superkonstruktor jetzt veraltet. super (AppUnderTest.class) sollte ausreichen – IcedDante

9

hatte ich das gleiche Problem. Der Grund dafür war der Konstruktor - es hatte irgendwie einen Parameter wie folgt aus:

public SearchActivityTest(Class<SearchActivity> activityClass) { 
    super("com.example.app", SearchActivity.class); 
} 

Aber es sollte keine Parameter wie dieses:

public SearchActivityTest() { 
    super("com.example.app", SearchActivity.class); 
} 

Es ist für mich gearbeitet.