Saya membenturkan kepala saya ke dinding di sini mencoba mencari tahu mengapa IntelliJ / Android melaporkan "Paket pengujian kosong". Saya memiliki proyek kecil dengan dua Modul IntelliJ ("Proyek" di Eclipse). Modul pengujian Unit memiliki AndroidManifest.xml-nya sendiri, yang telah saya tempelkan di bagian bawah. Saya mencoba menjalankan ActivityUnitTestCase
, karena pengujian akan bergantung pada Context
-objek.
Nama paket dari modul utama adalah nilzor.myapp
. Nama pacakge dari modul tes adalahnilzor.myapp.tests
Mengapa runner pengujian tidak mendeteksi testBlah()
-method sebagai pengujian?
<?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>
Dan inilah kelas tes saya :;
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);
}
}
Saya telah membaca dasar-dasar pengujian , dokumen pengujian aktivitas , dan mencoba mengikuti blog pengujian Hello world ini , meskipun itu untuk Eclipse. Saya tidak bisa meminta pelari pengujian untuk menemukan dan menjalankan pengujian saya. Apa yang saya lakukan salah?
Beberapa pertanyaan yang saya masih merasa tidak yakin adalah:
- Apakah saya memerlukan Anotasi di atas metode pengujian Unit?
- Apakah saya perlu mengawali metode dengan "test", atau apakah itu hanya untuk pengujian JUnit?
- Bisakah saya melakukan tes dalam sub-paket
nilzor.myapp.tests
?
Tetapi pertanyaan utama dari posting ini adalah mengapa runner pengujian tidak mendeteksi pengujian saya ?
@Test
spidol di atas tes.
cmd+shift+t
pintasan yang akan membuat kelas pengujian secara otomatis di lokasi paket yang benar yang cocok dengan kelas yang sedang Anda edit.