Birim ve fonksiyonel testleri dahil edin

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:

  1. Ana bilgisayara bir cihazın bağlı olduğundan ve adb ve gerekiyorsa fastboot 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.
  2. Bir Java uygulaması oluşturun. Yapılandırmayı Çalıştır > Yapılandırmaları çalıştır aracılığıyla çalıştırın.
  3. Projeyi tradefed-tests olarak ve ana sınıfı com.android.tradefed.command.CommandRunner olarak ayarlayın.
  4. m tradefed-all çalıştırın.
  5. 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>
  6. Çalıştıra tıkla .

Eclipse dışında işlevsel testler çalıştırmak için.

  1. Ticaret Federasyonu oluşturun.
  2. Ana bilgisayara bir Android cihazı bağlayın.
  3. tools/tradefederation/core/javatests/run_tradefed_func_tests.sh çalıştırın
  4. İ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.