Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trying to run Android JUnit tests in Eclipse fails?

I have seen all the examples on the web and it seems real simple. I have a bare-bones app that displays a string. I have a a Android JUnit test project that I created when the app was being created (eclipse asked if I wanted to create a test app).

When I run the test app (Run As --- Android JUnit) I see the following in the console....

[2010-02-27 00:45:03 - SimpleCalculatorTest]Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5554 [2010-02-27 00:45:12 - SimpleCalculatorTest]Test run complete

I do not see any of the code in the testcase being called. My testcase is a class that extends ActivityInstrumentationTestCase2. DDMS log shows : 02-27 00:44:58.521: WARN/TestGrouping(1275): Invalid Package: '' could not be found or has no tests

Any ideas? I have tried everything....

like image 434
nik Avatar asked Feb 27 '10 08:02

nik


2 Answers

If you create a new ActivityInstrumentationTestCase2 then you need a default constructor that points to the class that you want to test.

ex:

public class TestappTest extends ActivityInstrumentationTestCase2<AppUnderTest> {

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

  public void testApp() {
      // Testcase
  }
}
like image 162
lars Avatar answered Nov 16 '22 01:11

lars


I had the same problem. The reason was the constructor - it somehow had a parameter like this:

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

But it should have no parameters like this:

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

It worked for me.

like image 35
Stan Sidel Avatar answered Nov 16 '22 01:11

Stan Sidel