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:
- Bir cihazın ana makineye bağlı olduğundan ve
adb
ile gerekirsefastboot
'ı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. - Java uygulaması oluşturun. Çalıştır > Yapılandırmaları çalıştır'ı kullanarak yapılandırmayı çalıştırın.
- Projeyi
tradefed-tests
, ana sınıfı isecom.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 girin:
host --class <full path of test class to run>
- Çalıştır'ı tıklayın.
İşlevsel testleri Eclipse dışında çalıştırmak için.
- Ticaret Federasyonu oluşturun.
- Barındırıcıya bir Android cihaz bağlayın.
tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
çalıştır- İ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.