Bu bölümde, Ticaret Federasyonu testlerinin nasıl çalıştırılacağı ve bu testlere nasıl katkıda bulunulacağı açıklanmaktadır. en iyi yöntemin ne olduğunu öğreneceğiz. Bu güvenlik özelliklerinden bazıları şunlardır:
- Yeni birim testi sınıfları nereye eklenir?
- Eclipse'te ve Eclipse IDE dışında birim testlerini çalıştırma
- İşlevsel testler nereye eklenir?
- İşlevsel testleri çalıştırma
- TF ön gönderme doğrulamasının bazılarını yerel olarak çalıştırma
Birim testleri ekle
Android Açık Kaynak Projesi'ne (AOSP) birim testleri sınıfını şu bölüme ekleyin: tools/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java
ÖNEMLİ: Yeni birim testi sınıflarınızı bu konumlara eklediğinizde ek kurulum gerekmeden otomatik olarak ön gönderimde çalışır.
Birim testleri çalıştırma
Ticaret Federasyonu'na ait tüm AOSP birim testleri ve işlevsel testleri şurada bulunmaktadır:
"the"
tools/tradefederation/core/tests
belirler.
Eclipse'te tek bir birim testi çalıştırmak için testi sağ tıklayıp Run As > (Farklı Çalıştır >) JUnit yazın. Tüm birim testlerini çalıştırmak için com.android.tradefed.UnitTests paketine bakın.
Birim testini Tradefed kaynağındaki komut satırından da başlatabilirsiniz
görebilirsiniz, örneğin:
tools/tradefederation/core/javatests/run_tradefed_tests.sh
.
Birim testleri bağımsız olarak yürütülebilir, ancak işlevsel testler yürütülmelidir
Ticaret Federasyonu'nun kendisini kullanarak; Android cihaz gerekir. Tümü çalışır durumda
testleri adlandırma kuralına uygun olmalıdır: *FuncTest
.
Birim testlerinin sonuçlarını kontrol etme
run_tradefed_tests.sh
çalıştırılırken birim testleri
bazı hata koşullarını da içeren test bandı. Ayrıntılı çıktı yazdırır
ile ilgili tüm verileri sunar.
Sonuçların son özeti bir hatanın gerçekleşip gerçekleşmediğini belirtir.
Konsoldaki örnek nihai özet:
12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]
Tüm testler geçilmesi için korunur. Dolayısıyla, yerel değişikliğinizde herhangi bir hata oluşursa lütfen testlerin düzeltildiğinden emin olun.
İşlevsel testler ekleme
İşlevsel testiniz bir cihaz içeriyorsa (herhangi bir
ITestDevice
API'si kullanıyorsa) süit tanımıcom.android.tradefed.DeviceFuncTests
bölgesinde bulunuyor. Aksi takdirde, paket tanımıcom.android.tradefed.FuncTests
konumundadır.Test yöntemleriniz için mevcut paket alt sınıflarından birini kullanmak mantıklıysa oraya eklemeyi tercih edebilirsiniz. Aksi takdirde, uygun paketinde yer alır.
Her iki durumda da, test paketine eklendiğinde testiniz otomatik olarak çalıştırılır. CI ardışık düzeninde başka işlevsel testlerle birlikte çalışır.
İşlevsel testler çalıştırma
Eclipse'ten işlevsel bir test yapmak için:
- Bir cihazın ana makineye bağlı olduğundan,
adb
ve gerekiyorsafastboot
, Eclipse'in PATH yolunda. Bunu yapmanın en kolay yolu Uygun PATH ile bir kabuk kurulumundan Eclipse. - Bir Java uygulaması oluşturun. Yapılandırmayı şu komutla çalıştırın: Çalıştır > Koşu yapılandırma başlıklı makaleyi inceleyin.
- Projeyi
tradefed-tests
ve ana sınıfı şu şekilde ayarla:com.android.tradefed.command.CommandRunner
. m tradefed-all
çalıştır.- Bağımsız değişkenler sekmesinde şu komut satırı bağımsız değişkenlerini sağlayın:
host --class <full path of test class to run>
- Çalıştır'ı tıklayın.
Eclipse dışında işlevsel testler yapmak için.
- Ticaret Federasyonu'nu kurun.
- Bir Android cihazı ana makineye bağlayın.
tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
çalıştır- İsteğe bağlı olarak,
--serial <serial no>
ekleyerek cihazı seçinadb devices
çıkışında gösterilir.
Yerel değişikliklere karşı TF ön gönderme testlerini çalıştır
TF ön gönderme işlemine benzer şekilde çalıştırmak istiyorsanız şunu kullanın:
tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh
Bu işlem, yerel olarak oluşturulan TF'nize göre tüm TF ön gönderme testlerini tetikler ve yaptığınız değişikliğin testlere uygun olmadığını doğrulamanıza yardımcı olur.
TF ön gönderme testleri, yukarıdaki birim testlerinin üst kümesidir ancak çalıştırabilirsiniz. Bu nedenle geliştirme sırasında birim testlerinin daha hızlı doğrulama ve CL yüklemeden önce ön gönderimleri çalıştırma.