Birim ve işlevsel testleri dahil edin

Bu bölümde, Ticaret Federasyonu testlerinin nasıl çalıştırılacağı ve bu testlere nasıl katkıda bulunulacağı açıklanmaktadır. karar vermeniz gerekir. 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 testler ç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:

  1. Bir cihazın ana makineye bağlı olduğundan, adb ve gerekiyorsa fastboot, Eclipse'in PATH yolunda. Bunu yapmanın en kolay yolu Uygun PATH ile bir kabuk kurulumundan Eclipse.
  2. 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.
  3. Projeyi tradefed-tests ve ana sınıfı şu şekilde ayarla: com.android.tradefed.command.CommandRunner.
  4. m tradefed-all çalıştır.
  5. 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>
  6. Çalıştır'ı tıklayın.

Eclipse dışında işlevsel testler yapmak için.

  1. Ticaret Federasyonu'nu kurun.
  2. Bir Android cihazı ana makineye bağlayın.
  3. tools/tradefederation/core/javatests/run_tradefed_func_tests.sh çalıştır
  4. İsteğe bağlı olarak, --serial <serial no> ekleyerek cihazı seçin adb 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.