Test çalıştırıcı, çağırma akışının yürütme birimidir. Testler burada çalıştırılır.
Arayüzler
Test çalıştırıcılar, IRemoteTest arayüzü aracılığıyla tanımlanır. Bu arayüz, testler çalıştırılacağı zaman çağrılacak basit bir run
yöntemi sağlar.
Bu, test çalıştırmasının en basit tanımının yapılmasına olanak tanır. Ancak uygulamada, test yazarlarının testlerini düzgün bir şekilde yazmak için daha fazla bilgiye (genellikle derleme ve cihaz bilgileri) ihtiyacı olacaktır. Bu noktada aşağıdaki arayüzler faydalı olur.
Temel
Bu iki arayüz, çoğu testin temel ihtiyaçlarını karşıladığı için günümüzde en yaygın kullanılan arayüzlerdir.
- IBuildReceiver
ile test, build
provider adımında oluşturulan ve test kurulumuyla ilgili tüm bilgileri ve yapıları içeren
IBuildInfo
nesnesini alabilir. - IDeviceTest, TF'nin test edilen cihazı temsil eden
ITestDevice
nesnesini almasına olanak tanır ve bu nesneyle etkileşim kurmak için bir API sağlar.
Gelişmiş
Test düzeneği ile test çalıştırıcı arasında daha karmaşık etkileşime olanak tanıyan ek arayüzler vardır:
- Yalnızca belirli testlerin çalıştırılması için testin bir dizi filtre almasına olanak tanıyan ITestFilterReceiver. Bu özellik, testlerin bir alt grubunu çalıştırmak için kullanışlıdır.
- Bir test çalıştırıcısının testleri gerçekten yürütmek yerine yalnızca denemesine olanak tanıyan ITestCollector. Bu, tüm test senaryolarının listesini toplamak için kullanışlıdır.
Mevcut test çalıştırıcıları
Çeşitli test çalıştırıcılar mevcuttur. Bunlardan bazıları başlıca test türleri için kullanılır:
- AndroidJUnitTest / InstrumentationTest (cihaz tarafında AJUR ile ilişkilidir)
- googletest kitaplığı ile GTest (cihaz ve ana makine tarafı)
- Ana makine odaklı testler (Ana makinede yürütülen ve cihazı buradan çağıran Java testleri)
- Saf Java birim testleri (çalıştırıcımız her ikisini de yapar)
- Python testleri
- Karşılaştırma kitaplığı ile Google karşılaştırma testleri
Yukarıdakilerin dışında çok sayıda özel test çalıştırıcı vardır. Bunlar, bazı işlevsel testler (ör. önyükleme testi) için özel amaçlara hizmet eder.
Yeni bir test çalıştırıcı yazma
Yeni bir test çalıştırıcı yazma hakkında daha fazla bilgi için test yazma bölümüne bakın.