Runner pengujian adalah unit eksekusi alur pemanggilan. Di sinilah pengujian benar-benar dijalankan.
Antarmuka
Runner pengujian ditentukan melalui antarmuka IRemoteTest,
yang menyediakan metode run
sederhana untuk diterapkan yang akan dipanggil saat
pengujian akan dijalankan.
Hal ini memungkinkan definisi paling sederhana dari pengujian yang dijalankan. Namun, dalam praktiknya, penulis pengujian akan memerlukan lebih banyak informasi untuk menulis pengujian dengan benar, biasanya informasi build dan perangkat. Di sinilah antarmuka berikut berguna.
Dasar
Kedua antarmuka ini adalah yang paling banyak digunakan saat ini, karena mewakili kebutuhan dasar sebagian besar pengujian.
- IBuildReceiver
memungkinkan pengujian mendapatkan objek
IBuildInfo
yang dibuat pada langkah penyedia build yang berisi semua informasi dan artefak yang terkait dengan penyiapan pengujian. - IDeviceTest
memungkinkan TF menerima objek
ITestDevice
yang mewakili perangkat yang sedang diuji dan menyediakan API untuk berinteraksi dengannya.
Lanjutan
Ada antarmuka tambahan yang memungkinkan interaksi yang lebih kompleks antara harness pengujian dan runner pengujian:
- ITestFilterReceiver, yang memungkinkan pengujian menerima kumpulan filter untuk menjalankan pengujian tertentu saja. Hal ini berguna dalam menjalankan sebagian pengujian.
- ITestCollector, yang memungkinkan runner pengujian hanya menjalankan pengujian secara dry run, bukan benar-benar menjalankannya. Hal ini berguna dalam mengumpulkan daftar semua kasus pengujian.
Runner pengujian yang ada
Berbagai test runner sudah ada, beberapa untuk jenis pengujian utama:
- AndroidJUnitTest / InstrumentationTest (dikaitkan dengan AJUR di sisi perangkat)
- GTest (sisi perangkat dan host) dengan library googletest
- Pengujian yang didorong host (pengujian Java yang dijalankan di host dan memanggil perangkat dari sana)
- Pengujian unit Java murni (runner kita melakukan keduanya)
- Pengujian Python
- Pengujian Google Benchmark dengan library benchmark
Selain yang disebutkan di atas, ada banyak runner pengujian kustom; runner ini melayani tujuan khusus untuk beberapa pengujian fungsional, misalnya Pengujian Booting.
Menulis runner pengujian baru
Panduan selengkapnya tentang cara menulis runner pengujian baru tersedia di bagian menulis pengujian.