Test çalıştırıcısı, çağrı akışının yürütme birimidir. Testlerin gerçekte yürütüldüğü yer burasıdır.
Arayüzler
Test çalıştırıcıları, testler çalıştırıldığında çağrılacak basit bir run
yöntemi sağlayan IRemoteTest arayüzü aracılığıyla tanımlanır.
Bu, bir test çalışmasının en basit tanımının gerçekleşmesini sağlar. Ancak pratikte, test yazarlarının testlerini doğru bir şekilde yazabilmeleri için genellikle yapı ve cihaz bilgileri olmak üzere daha fazla bilgiye ihtiyaçları olacaktır. Aşağıdaki arayüzlerin kullanışlı olduğu yer burasıdır.
Temel
Bu iki arayüz, çoğu testin temel ihtiyaçlarını temsil ettiğinden günümüzde en yaygın kullanılan arayüzlerdir.
- IBuildReceiver, testin, test kurulumuyla ilgili tüm bilgileri ve yapıtları içeren, derleme sağlayıcısı adımında oluşturulan
IBuildInfo
nesnesini almasına olanak tanır. - IDeviceTest, TF'nin test edilen cihazı temsil eden ve onunla etkileşim kurmak için bir API sağlayan
ITestDevice
nesnesini almasına olanak tanır.
Gelişmiş
Test donanımı ile test koşucusu arasında daha karmaşık etkileşime olanak tanıyan ek arayüzler vardır:
- ITestFilterReceiver , testin yalnızca belirli testleri çalıştırmak için bir dizi filtre almasına olanak tanır. Bu, testlerin bir alt kümesini çalıştırırken kullanışlıdır.
- ITestCollector , bir test çalıştırıcısının testleri gerçekte yürütmek yerine yalnızca kuru çalıştırmasına olanak tanır. Bu, tüm test senaryolarının listesinin toplanmasında kullanışlıdır.
Mevcut test çalıştırıcıları
Bazıları ana test türleri için olmak üzere çeşitli test çalıştırıcıları halihazırda mevcuttur:
- AndroidJUnitTest / InstrumentationTest (cihaz tarafında AJUR ile ilişkilidir)
- Googletest kitaplığıyla GTest (cihaz ve ana bilgisayar tarafı)
- Ana bilgisayar odaklı testler (Ana makinede yürütülen ve cihazı oradan çağıran Java testleri)
- Saf Java birim testleri (koşucumuz her ikisini de yapar)
- Python testleri
- Karşılaştırma kitaplığıyla Google Benchmark testleri
Yukarıdakilerin yanı sıra çok sayıda özel test çalıştırıcısı mevcuttur; Önyükleme Testi gibi bazı işlevsel testler için özel amaçlara hizmet ederler.
Yeni bir test çalıştırıcısı yazın
Yeni bir test çalıştırıcısı yazmaya ilişkin daha fazla rehberlik testleri yazma bölümünde mevcuttur.