Test runner adalah unit eksekusi alur pemanggilan. Di sinilah pengujian benar-benar dijalankan.
Antarmuka
Pelaksana pengujian ditentukan melalui antarmuka IRemoteTest,
yang menyediakan metode run
sederhana untuk diterapkan yang akan dipanggil saat
pengujian akan dijalankan.
Hal ini memungkinkan terjadinya definisi paling sederhana dari proses pengujian. Namun dalam praktiknya, penulis pengujian akan memerlukan lebih banyak informasi untuk menulis pengujian dengan benar, biasanya informasi build dan perangkat. Di sinilah antarmuka berikut akan 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 build provider yang berisi semua informasi dan artefak yang terkait dengan penyiapan pengujian. - IDeviceTest
memungkinkan TF menerima objek
ITestDevice
yang merepresentasikan perangkat yang sedang diuji dan menyediakan API untuk berinteraksi dengannya.
Lanjutan
Ada antarmuka tambahan yang memungkinkan interaksi yang lebih kompleks antara test harness dan test runner:
- ITestFilterReceiver, yang memungkinkan pengujian menerima serangkaian filter untuk menjalankan pengujian tertentu saja. Hal ini berguna dalam menjalankan subset pengujian.
- ITestCollector, yang memungkinkan peluncur pengujian hanya menjalankan uji coba pengujian, bukan mengeksekusinya. Hal ini berguna dalam mengumpulkan daftar semua kasus pengujian.
Test runner yang ada
Berbagai pelaksana pengujian sudah ada, beberapa untuk jenis pengujian utama:
- AndroidJUnitTest / InstrumentationTest (terkait 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 kami melakukan keduanya)
- Pengujian Python
- Pengujian Google Benchmark dengan pustaka tolok ukur
Selain yang disebutkan di atas, ada banyak runner pengujian kustom; runner ini memiliki tujuan khusus untuk beberapa pengujian fungsional, misalnya Pengujian Boot.
Menulis runner pengujian baru
Panduan lainnya tentang cara menulis runner pengujian baru tersedia di bagian penulisan pengujian.