尝试在Eclipse中运行Android JUnit测试失败?

10

我看过网上所有的例子,似乎都很简单。我有一个只显示一个字符串的简单应用程序。当我创建应用程序时,我创建了一个Android JUnit测试项目(在eclipse中询问是否要创建测试应用程序)。

当我运行测试应用程序(Run As --- Android JUnit)时,我在控制台中看到以下信息...

[2010-02-27 00:45:03 - SimpleCalculatorTest]在设备模拟器-5554上启动仪器android.test.InstrumentationTestRunner [2010-02-27 00:45:12 - SimpleCalculatorTest]测试运行完成

但我没有看到测试用例中的任何代码被调用。我的测试用例是一个继承ActivityInstrumentationTestCase2类的类。 DDMS日志显示: 02-27 00:44:58.521: WARN/TestGrouping(1275): 无效包:''找不到或没有测试

有任何想法吗?我尝试了所有方法...

2个回答

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

9

我曾经遇到过同样的问题,原因是构造函数中某个参数如下:

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

但是它应该没有参数,就像这样:

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

这对我很管用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接