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, testler çalıştırılacağı zaman çağrılacak basit bir run yöntemi sağlayan IRemoteTest arayüzü aracılığıyla tanımlanır.
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, testin build
provider adımında oluşturulan ve test kurulumuyla ilgili tüm bilgileri ve yapıları içeren
IBuildInfonesnesini almasına olanak tanır. - IDeviceTest, TF'nin test edilen cihazı temsil eden
ITestDevicenesnesini 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, testlerin bir alt kümesini çalıştırmak için kullanışlıdır.
- Test çalıştırıcının testleri gerçekten yürütmek yerine yalnızca denemesini sağlayan 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. başlatma 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.