Skip to content

Most visited

Recently visited

navigation

Menguji Aplikasi Anda

Android Studio didesain untuk menyederhanakan pengujian. Cukup dengan beberapa kali klik, Anda bisa mempersiapkan pengujian JUnit yang dijalankan pada JVM lokal atau pengujian berinstrumen yang dijalankan pada perangkat. Tentu saja, Anda juga bisa menambah kemampuan pengujian dengan mengintegrasikan kerangka kerja pengujian seperti Mockito untuk menguji panggilan Android API di pengujian unit lokal, dan Espresso atau UI Automator untuk menggunakan interaksi pengguna dalam pengujian berinstrumen. Anda bisa menghasilkan pengujian Espresso secara otomatis menggunakan Espresso Test Recorder.

Laman ini menyediakan informasi dasar tentang cara menambahkan pengujian baru ke aplikasi Anda dan menjalankannya dari Android Studio.

Untuk mengetahui lebih lengkap mengenai panduan menulis pengujian, lihat Memulai dengan Pengujian.

Tipe dan Lokasi Pengujian

Lokasi kode pengujian Anda bergantung pada tipe pengujian yang Anda tulis. Android Studio menyediakan direktori kode sumber (set sumber), untuk dua tipe pengujian berikut:

Pengujian unit lokal

Berlokasi di module-name/src/test/java/.

Semua pengujian ini dijalankan pada Java Virtual Machine (JVM) lokal di mesin. Gunakan pengujian ini untuk meminimalkan waktu eksekusi bila pengujian Anda tidak memiliki dependensi kerangka kerja Android atau bila Anda bisa menirukan dependensi kerangka kerja Android.

Pada waktu proses, pengujian ini dijalankan terhadap versi modifikasi dari android.jar dengan semua modifier final yang telah dihilangkan. Ini memungkinkan Anda menggunakan pustaka peniruan populer, seperti Mockito.

Pengujian berinstrumen

Berlokasi di module-name/src/androidTest/java/.

Inilah pengujian yang dijalankan pada perangkat keras atau emulator. Pengujian ini memiliki akses ke Instrumentasi API, memberi Anda akses ke informasi seperti Context atas aplikasi yang Anda uji, dan memungkinkan Anda mengontrol aplikasi yang sedang diuji dari kode pengujian. Gunakan pengujian ini saat menulis pengujian UI fungsional dan integrasi untuk mengotomatiskan interaksi pengguna, atau bila pengujian Anda memiliki dependensi Android yang menirukan objek yang tidak bisa memenuhi harapan.

Karena pengujian berinstrumen dimasukkan ke dalam APK (terpisah dari aplikasi APK aplikasi Anda), maka harus memiliki file AndroidManifest.xml sendiri. Akan tetapi, Gradle secara otomatis menghasilkan file ini selama pembangunan sehingga tidak terlihat dalam set sumber proyek Anda. Jika perlu, Anda bisa menambahkan file manifes sendiri, misalnya untuk menetapkan nilai berbeda bagi `minSdkVersion` atau mendaftarkan run listener untuk pengujian Anda saja. Saat membangun aplikasi Anda, Gradle akan menggabungkan file manifes menjadi satu manifes.

Pembangunan Gradle menafsirkan set sumber pengujian ini dengan cara yang sama seperti untuk set sumber aplikasi proyek Anda, yang memungkinkan Anda membuat pengujian berdasarkan varian pembangunan.

Bila Anda membuat proyek baru atau menambahkan modul aplikasi, Android Studio akan membuat beberapa set sumber pengujian yang dicantumkan di atas dan menyertakan file pengujian contoh dalam setiap set. Anda bisa melihatnya di jendela Project seperti yang ditampilkan dalam gambar 1.

Gambar 1. (1) Pengujian berinstrumen dan (2) pengujian JVM lokal proyek Anda terlihat dalam tampilan Project (kiri) atau tampilan Android (kanan).

Menambah Pengujian Baru

Untuk membuat pengujian unit lokal maupun pengujian berinstrumen, Anda bisa membuat pengujian baru untuk kelas atau metode tertentu dengan mengikuti langkah-langkah ini:

  1. Buka file Java berisi kode yang ingin Anda uji.
  2. Klik kelas atau metode yang ingin Anda uji, kemudian tekan Ctrl+Shift+T (⇧⌘T).
  3. Dalam menu yang muncul, klik Create New Test.
  4. Dalam dialog Create Test, edit bidang-bidangnya dan pilih metode yang akan dihasilkan, kemudian klik OK.
  5. Dalam dialog Choose Destination Directory, klik set sumber yang sesuai dengan tipe pengujian yang ingin Anda buat: androidTest untuk pengujian berinstrumen atau test untuk pengujian unit lokal. Kemudian klik OK.

Atau, Anda bisa membuat file Java generik dalam set sumber pengujian yang sesuai seperti berikut:

  1. Di jendela Project di sebelah kiri, klik menu tarik-turun dan pilih tampilan Project.
  2. Luaskan folder modul yang sesuai dan folder src tersarang. Untuk menambahkan pengujian unit lokal, luaskan folder test dan folder java tersarang; untuk menambahkan pengujian berinstrumen, perluas folder androidTest dan folder java tersarang.
  3. Klik kanan pada direktori paket Java dan pilih New > Java Class.
  4. Namai file tersebut kemudian klik OK.

Pastikan juga Anda menetapkan dependensi pustaka pengujian dalam file build.gradle modul aplikasi Anda:

dependencies {
    // Required for local unit tests (JUnit 4 framework)
    testCompile 'junit:junit:4.12'

    // Required for instrumented tests
    androidTestCompile 'com.android.support:support-annotations:24.0.0'
    androidTestCompile 'com.android.support.test:runner:0.5'
}

Untuk dependensi pustaka opsional lainnya dan informasi selengkapnya tentang cara menulis pengujian, lihat Membangun Pengujian Unit Lokal dan Membangun Pengujian Instrumentasi.

Membuat pengujian berinstrumen untuk varian pembangunan

Jika proyek Anda menyertakan varian pembangunan dengan beberapa set sumber pengujian, maka Anda mungkin memerlukan beberapa set sumber pengujian instrumentasi yang sesuai. Membuat pengujian berinstrumen di set sumber yang sesuai dengan varian pembangunan akan membantu menjaga kode pengujian tetap rapi dan memungkinkan Anda menjalankan pengujian yang berlaku untuk varian pembangunan yang ditentukan saja.

Untuk menambahkan set sumber pengujian bagi varian pembangunan Anda, ikuti langkah-langkah ini:

  1. Di jendela Project di sebelah kiri, klik menu tarik-turun dan pilih tampilan Project.
  2. Dalam folder modul yang sesuai, klik kanan pada folder src dan klik New > Directory.
  3. Untuk nama direktori, masukkan "androidTestVariantName." Misalnya, jika Anda memiliki varian pembangunan bernama "MyFlavor" maka nama direktori harus "androidTestMyFlavor." Kemudian klik OK.
  4. Klik kanan pada direktori baru dan klik New > Directory.
  5. Masukkan "java" sebagai nama direktori, kemudian klik OK.

Kini Anda bisa menambahkan pengujian ke set sumber baru dengan mengikuti langkah-langkah di atas untuk menambahkan pengujian baru. Bila Anda sampai ke dialog Choose Destination Directory, pilih set sumber pengujian varian baru.

Pengujian berinstrumen dalam set sumber src/androidTest/ digunakan bersama semua varian pembangunan. Saat membangun APK pengujian untuk varian "MyFlavor" aplikasi Anda, Gradle menggabungkan set sumber src/androidTest/ dan src/androidTestMyFlavor/.

Misalnya, tabel berikut menampilkan cara menempatkan file pengujian instrumentasi dalam set sumber yang sesuai dengan set sumber kode aplikasi.

Jalur ke kelas aplikasi Jalur ke kelas pengujian instrumentasi yang cocok
src/main/java/Foo.java src/androidTest/java/AndroidFooTest.java
src/myFlavor/java/Foo.java src/androidTestMyFlavor/java/AndroidFooTest.java

Persis seperti yang dilakukan pada set sumber aplikasi Anda, pembangunan Gradle akan menggabungkan dan menggantikan semua file dari set sumber pengujian yang berbeda. Dalam hal ini, file AndroidFooTest.java dalam set sumber "androidTestMyFlavor" akan menggantikan versi dalam set sumber "androidTest". Untuk informasi selengkapnya tentang cara penggabungan set sumber, lihat Mengonfigurasi Pembangunan.

Alasan lain Anda harus menggunakan varian pembangunan bagi aplikasi Anda dan set sumber pengujian adalah untuk membuat pengujian hermetik melalui dependensi tiruan. Anda bisa membuat ragam produk bagi aplikasi yang berisi implementasi tiruan dependensi (misalnya permintaan jaringan atau data sensor perangkat yang biasanya ringkih), kemudian menambahkan set sumber pengujian tiruannya. Untuk informasi selengkapnya, lihat entri blog tentang memanfaatkan ragam produk untuk pengujian hermetik.

Menjalankan Pengujian

Untuk menjalankan pengujian, lakukan seperti berikut:

  1. Pastikan proyek Anda telah disinkronkan dengan Gradle dengan mengeklik Sync Project di bilah alat.
  2. Jalankan pengujian Anda dalam salah satu cara berikut:
    • Dalam jendela Project, klik kanan pada sebuah pengujian dan klik Run .
    • Dalam Code Editor, klik kanan pada kelas atau metode dalam file pengujian dan klik Run untuk menguji semua metode dalam kelas tersebut.
    • Untuk menjalankan semua pengujian, klik kanan pada direktori pengujian dan klik Run tests .

Secara default, pengujian Anda dijalankan menggunakan konfigurasi run default Android Studio. Jika Anda ingin mengubah beberapa setelan run seperti instrumentation-runner dan opsi penerapan, Anda bisa mengedit konfigurasi run dalam dialog Run/Debug Configurations (klik Run > Edit Configurations).

Mengubah Tipe Pembangunan Pengujian

Secara default, semua pengujian dijalankan terhadap tipe pembangunan versi debug. Anda bisa mengubahnya ke tipe pembangunan lain dengan menggunakan properti testBuildType dalam file build.gradle tingkat modul. Misalnya jika Anda ingin menjalankan pengujian terhadap tipe pembangunan "staging", edit file tersebut seperti yang ditampilkan dalam cuplikan berikut.

android {
    ...
    testBuildType "staging"
}
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)