Birim ve işlevsel testleri dahil edin

Bu bölümde, projede değişiklik yaptıktan sonra Trade Federation testlerini nasıl çalıştıracağınız ve bu testlere nasıl katkıda bulunacağınız açıklanmaktadır. Bu verilerden bazıları şunlardır:

  • Yeni birim testi sınıflarını ekleme
  • Eclipse'te ve Eclipse IDE dışında birim testleri çalıştırma
  • İşlevsel testleri nereye ekleyebilirsiniz?
  • İşlevsel testleri çalıştırma
  • TF göndermeden önce doğrulamasının bir kısmını yerel olarak çalıştırma

Birim testi ekleme

Android Açık Kaynak Projesi'nde (AOSP) birim testleri sınıfını şuraya 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 yapmadan otomatik olarak göndermeden önce çalıştırılırlar.

Birim testleri çalıştırma

Trade Federation için tüm AOSP birim testleri ve işlevsel testler tools/tradefederation/core/tests projesinde bulunur.

Eclipse'te tek bir birim testini çalıştırmak için testi sağ tıklayın ve Olarak Çalıştır > JUnit'i seçin. Tüm birim testlerini çalıştırmak için com.android.tradefed.UnitTests paketini çalıştırın.

Birim testini, derlemeden sonra Tradefed kaynak ağacındaki komut satırından da başlatabilirsiniz. Örneğin: tools/tradefederation/core/javatests/run_tradefed_tests.sh

Birim testleri bağımsız olarak yürütülebilir, ancak işlevsel testler Ticaret Federasyonu kullanılarak, bir Android cihaz gerektirir. Tüm işlev testleri *FuncTest adlandırma kuralına uymalıdır.

Birim testi sonuçlarını kontrol etme

run_tradefed_tests.sh çalıştırılırken birim testleri, bazı hata koşulları da dahil olmak üzere test bandının tüm bölümlerini kullanır. Yığın izlemeleri dahil olmak üzere ayrıntılı çıkışı konsola yazdırır.

Sonuçların son özeti bir hatanın gerçekleşip gerçekleşmediğini belirtir.

Konsolda örnek nihai özet:

12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]

Tüm testler başarılı olacak şekilde sürdürülür. Bu nedenle, yerel değişikliğinizde herhangi bir hata oluşursa lütfen testlerin düzeltildiğinden emin olun.

İşlevsel test ekleme

  • İşlevsel testiniz bir cihaz içeriyorsa (ITestDevice API'si kullanıyorsa) paket tanımı com.android.tradefed.DeviceFuncTests içinde bulunur. Aksi takdirde paket tanımı com.android.tradefed.FuncTests konumundadır.

  • Test yöntemleriniz mevcut paket alt sınıflarından birine eklenebiliyorsa bu sınıfa eklemeyi tercih edin. Aksi takdirde, geçerli pakete yeni bir sınıf ekleyebilirsiniz.

  • Her iki durumda da, testiniz pakete eklendiğinde diğer işlevsel testlerle birlikte CI ardışık düzeninde otomatik olarak çalıştırılı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 ve adb ile gerekirse fastboot'ın Eclipse'in PATH'inde bulunduğundan emin olun. Bunu yapmanın en kolay yolu, Eclipse'i uygun PATH ile bir kabuk kurulumundan başlatmaktır.
  2. Java uygulaması oluşturun. Çalıştır > Yapılandırmaları çalıştır'ı kullanarak yapılandırmayı çalıştırın.
  3. Projeyi tradefed-tests, ana sınıfı ise 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 girin: host --class <full path of test class to run>
  6. Çalıştır'ı tıklayın.

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

  1. Ticaret Federasyonu oluşturun.
  2. Barındırıcıya bir Android cihaz bağlayın.
  3. tools/tradefederation/core/javatests/run_tradefed_func_tests.sh çalıştır
  4. İsteğe bağlı olarak, adb devices çıktısında göründüğü şekilde --serial <serial no> ekleyerek cihazı seçebilirsiniz.

TF göndermeden önce testlerini yerel değişikliklere karşı çalıştırma

TF ön gönderme işlemine benzer bir şekilde çalıştırmak istiyorsanız şunu kullanın:

tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh

Bu işlem, değişikliğinizin herhangi bir testi bozmadığını doğrulamanıza yardımcı olmak için yerel olarak oluşturulan TF'nize karşı tüm TF göndermeden önce testlerini tetikler.

TF göndermeden önce testleri, yukarıdaki birim testlerinin bir üst kümesidir ancak bunların çalıştırılması daha yavaştır. Bu nedenle, doğrulama sürecini hızlandırmak için geliştirme sırasında birim testlerini çalıştırmanız ve CL dosyasını yüklemeden önce ön gönderimleri çalıştırmanız önerilir.