Sto sbattendo la testa contro il muro qui cercando di capire perché IntelliJ / Android segnala "Suite di test vuota". Ho un piccolo progetto con due moduli IntelliJ ("Progetti" in Eclipse). Il modulo di unit test ha il proprio AndroidManifest.xml, che ho incollato in fondo. Sto cercando di eseguire un ActivityUnitTestCase, poiché i test dipenderanno Contextdall'oggetto.
Il nome del pacchetto del modulo principale è nilzor.myapp. Il nome del pacakge del modulo di test ènilzor.myapp.tests
Perché il test runner non rileva il testBlah()metodo come un test?
<?xml version="1.0" encoding="utf-8"?>
<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nilzor.myapp.tests"
android:versionCode="1"
android:versionName="1.0">
<!-- 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. -->
<application>
<uses-library android:name="android.test.runner"/>
</application>
<!--
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"
-->
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="nilzor.myapp"
android:label="Tests for nilzor.myapp"/>
</manifest>
Ed ecco la mia classe di prova :;
package nilzor.myapp.tests;
public class NilzorSomeTest<T extends Activity> extends ActivityUnitTestCase<T>{
public NilzorSomeTest(Class<T> activityClass){
super(activityClass);
}
@SmallTest
public void testBlah(){
assertEquals(1,1);
}
}
Ho letto i fondamenti dei test , il documento sui test di attività e ho provato a seguire questo blog di test Hello world , anche se è per Eclipse. Non riesco a convincere il test runner a trovare ed eseguire il mio test. Che cosa sto facendo di sbagliato?
Alcune delle domande di cui non sono ancora sicuro sono:
- Ho bisogno di un'annotazione sopra il metodo del test unitario?
- Devo aggiungere il prefisso "test" al metodo o è solo per i test JUnit?
- Posso avere test in sotto-pacchetti di
nilzor.myapp.tests?
Ma la domanda principale di questo post è perché il test runner non rileva il mio test ?
@Testpennarello sopra il test.

cmd+shift+tcollegamento che creerà automaticamente una classe di test nella posizione del pacchetto corretta che corrisponde alla classe che stai attualmente modificando.