2010-02-27 131 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); 
} 

它为我工作。

相关问题