title: Why is the Android test runner reporting "Empty test suite"?
body: <p>I am banging my head against the wall here trying to figure out why IntelliJ/Android is reporting  "Empty test suite". I have a small project with two IntelliJ Modules ("Projects" in Eclipse). The Unit test module has its own AndroidManifest.xml, which I have pasted at the bottom. I am trying to run an <code>ActivityUnitTestCase</code>, since the tests will be dependent upon the <code>Context</code>-object.</p>
  
  <p>The package name of the main module is <code>nilzor.myapp</code>. The pacakge name of the test module is <code>nilzor.myapp.tests</code></p>
  
  <p>Why is not the test runner detecting the <code>testBlah()</code>-method as a test?</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us --&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="nilzor.myapp.tests"
            android:versionCode="1"
            android:versionName="1.0"&gt;
      &lt;!-- We add an application tag here just so that we can indicate that
           this package needs to link against the android.test library,
           which is needed when building test cases. --&gt;
      &lt;application&gt;
          &lt;uses-library android:name="android.test.runner"/&gt;
      &lt;/application&gt;
      &lt;!--
      This declares that this application uses the instrumentation test runner targeting
      the package of nilzor.myapp.  To run the tests use the command:
      "adb shell am instrument -w nilzor.myapp.tests/android.test.InstrumentationTestRunner"
      --&gt;
      &lt;instrumentation android:name="android.test.InstrumentationTestRunner"
                       android:targetPackage="nilzor.myapp"
                       android:label="Tests for nilzor.myapp"/&gt;
  &lt;/manifest&gt;
  </code></pre>
  
  <p>And here is my test class:;</p>
  
  <pre><code>package nilzor.myapp.tests;
  
  public class NilzorSomeTest&lt;T extends Activity&gt; extends ActivityUnitTestCase&lt;T&gt;{
      public NilzorSomeTest(Class&lt;T&gt; activityClass){
          super(activityClass);
      }
  
      @SmallTest
      public void testBlah(){
          assertEquals(1,1);
      }
  }
  </code></pre>
  
  <p>I have read the <a href="http://developer.android.com/tools/testing/testing_android.html" rel="noreferrer">testing fundamentals</a>, the <a href="http://developer.android.com/tools/testing/activity_testing.html" rel="noreferrer">activity testing document</a>, and tried following this <a href="http://wptrafficanalyzer.in/blog/android-testing-example-helloworld-with-activityunittestcase/" rel="noreferrer">Hello world test blog</a>, even though it is for Eclipse. I cannot get the test runner to find and run my test. What am I doing wrong?</p>
  
  <p>Some of the questions I still feel unsure about are:</p>
  
  <ol>
  <li>Do I need an Annotation above the Unit test method?</li>
  <li>Do I need to prefix the method with "test", or is that just for JUnit tests?</li>
  <li>Can I have tests in sub-packages of <code>nilzor.myapp.tests</code>?</li>
  </ol>
  
  <p>But the main question of this post is <em>why does not the test runner detect my test</em>?</p>