Bu bölümde, projede değişiklik yaptıktan sonra Ticaret Federasyonu testlerinin nasıl çalıştırılacağı ve bunlara nasıl katkıda bulunulacağı açıklanmaktadır. Bu içerir:
- Yeni birim test sınıfları nereye eklenir?
- Eclipse'de ve Eclipse IDE dışında birim testleri çalıştırma
- Fonksiyonel testler nereye eklenir?
- Fonksiyonel testleri çalıştırma
- TF ön gönderim doğrulamasının bir kısmını yerel olarak çalıştırma
Birim testleri ekle
Android Açık Kaynak Projesinde (AOSP), birim testleri sınıfını şuraya ekleyin: Tools/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java
ÖNEMLİ: Yeni ünite testi sınıflarınızı bu konumlara eklemek, bunların ek kurulum gerektirmeden ön gönderimde otomatik olarak çalıştırılmasına neden olacaktır.
Birim testlerini çalıştır
Ticaret Federasyonu için tüm AOSP birim testleri ve işlevsel testler tools/tradefederation/core/tests
projesinde bulunur.
Eclipse'in içinde ayrı bir birim testi çalıştırmak için teste sağ tıklayın ve Farklı Çalıştır > JUnit öğesini seçin. Tüm birim testlerini çalıştırmak için com.android.tradefed.UnitTests paketini çalıştırın.
Birim testini derleme sonrasında Tradefed kaynak ağacındaki komut satırından da şu şekilde başlatabilirsiniz: tools/tradefederation/core/javatests/run_tradefed_tests.sh
Birim testleri bağımsız olarak yürütülebilir ancak işlevsel testler Ticaret Federasyonu'nun kendisi kullanılarak yürütülmelidir; bir Android cihaza ihtiyaç duyarlar. Tüm işlevsel testler *FuncTest
adlandırma kuralına uymalıdır.
Birim testleri sonuçlarını kontrol edin
run_tradefed_tests.sh
çalıştırıldığında, birim testleri bazı hata koşulları da dahil olmak üzere test donanımının tüm parçalarını çalıştırıyor. Yığın izleri de dahil olmak üzere konsola ayrıntılı çıktı yazdıracaktır.
Sonuçların son özeti bir arızanın meydana gelip gelmediğini gösterecektir.
Konsoldaki örnek son özet:
12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]
Tüm testlerin başarılı olması sağlanır; bu nedenle, yerel değişikliğinizde herhangi bir arıza meydana gelirse lütfen testlerin düzeltildiğinden emin olun.
Fonksiyonel testler ekleyin
İşlevsel testiniz bir cihazı içeriyorsa (herhangi bir
ITestDevice
API'sini kullanıyorsa), paket tanımıcom.android.tradefed.DeviceFuncTests
içinde bulunur. Aksi takdirde, paket tanımıcom.android.tradefed.FuncTests
içinde bulunur.Test yöntemlerinizin mevcut paket alt sınıflarından birine yerleştirilmesi mantıklıysa onu oraya eklemeyi tercih edin. Aksi takdirde, ilgili pakete yeni bir sınıf eklemekten çekinmeyin.
Her iki durumda da, testiniz pakete eklendiğinde, testiniz diğer işlevsel testlerle birlikte CI hattında otomatik olarak çalıştırılır.
İşlevsel testleri çalıştırın
Eclipse'den işlevsel bir test çalıştırmak için:
- Ana bilgisayara bir cihazın bağlı olduğundan ve
adb
ve gerekiyorsafastboot
Eclipse'in PATH'inde olduğundan emin olun. Bunu yapmanın en kolay yolu Eclipse'i uygun PATH ile bir kabuk kurulumundan başlatmaktır. - Bir Java uygulaması oluşturun. Yapılandırmayı Çalıştır > Yapılandırmaları çalıştır aracılığıyla çalıştırın.
- Projeyi
tradefed-tests
olarak ve ana sınıfıcom.android.tradefed.command.CommandRunner
olarak ayarlayın. -
m tradefed-all
çalıştırın. - Bağımsız Değişkenler sekmesinde aşağıdaki komut satırı bağımsız değişkenlerini sağlayın:
host --class <full path of test class to run>
- Çalıştıra tıkla .
Eclipse dışında işlevsel testler çalıştırmak için.
- Ticaret Federasyonu oluşturun.
- Ana bilgisayara bir Android cihazı bağlayın.
-
tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
çalıştırın - İsteğe bağlı olarak,
adb devices
çıktısında göründüğü şekliyle--serial <serial no>
öğesini ekleyerek cihazı seçin.
Yerel değişikliklere karşı TF ön gönderim testlerini çalıştırın
TF ön gönderimine benzer şekilde çalıştırmak istiyorsanız şunu kullanın:
tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh
Bu, değişikliğinizin herhangi bir testi bozmadığını doğrulamanıza yardımcı olmak için yerel olarak oluşturulmuş TF'nize karşı tüm TF ön gönderim testlerini tetikleyecektir.
TF ön gönderim testleri yukarıdaki birim testlerinin bir üst kümesidir, ancak bunların çalıştırılması daha yavaştır. Bu nedenle, daha hızlı doğrulama için geliştirme sırasında birim testlerinin çalıştırılması ve CL'yi yüklemeden önce ön gönderimlerin çalıştırılması önerilir.