2010-02-27 163 views
10

我已經看到了網絡上的所有例子,它看起來很簡單。我有一個顯示字符串的裸機應用程序。我有一個Android JUnit測試項目,我在創建應用程序時創建了這個項目(eclipse問我是否想創建一個測試應用程序)。試圖在Eclipse中運行Android JUnit測試失敗?

當我運行測試程序(運行方式---的Android的JUnit)我看到在控制檯下面....

[2010-02-27 0時45分03秒 - SimpleCalculatorTest]啓動儀表android.test.InstrumentationTestRunner on device emulator -5554 [2010-02-27 00:45:12 - SimpleCalculatorTest]測試運行完成

我沒有看到任何被調用的測試用例中的代碼。 我的測試用例是一個擴展了ActivityInstrumentationTestCase2的類。 DDMS日誌顯示: 02-27 00:44:58.521:WARN/TestGrouping(1275):Invalid Package:''could not be found or has no tests

任何想法?我已經嘗試了所有東西......

回答

10

如果您創建一個新的ActivityInstrumentationTestCase2,那麼您需要一個默認的構造函數指向要測試的類。

例如:

public class TestappTest extends ActivityInstrumentationTestCase2<AppUnderTest> { 

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

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

對於那些閱讀這個超級構造函數的人現在已被棄用。 super(AppUnderTest.class)應該足夠了 – IcedDante 2013-11-11 01:13:25

9

我有同樣的問題。原因是構造 - 它在某種程度上有像這樣的參數:

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

但應該沒有參數是這樣的:

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

它爲我工作。

相關問題