Yeni Yerel Test Örneği Ekleme

Android platform geliştirmede yeniyseniz, ilgili tipik iş akışını göstermek için sıfırdan yepyeni bir yerel test eklemenin bu eksiksiz örneğini yararlı bulabilirsiniz. Ayrıca C GTEST çerçeve alışık değilseniz Ayrıca, ++, gözden geçirin GTEST proje sitesini ek belgeler.

Bu kılavuz, örnek teşkil etmesi için takip testini kullanır:

Merhaba Dünya Yerli Testi

Devam etmeden önce kaba bir izlenim edinmek için önce koda göz atmanız önerilir.

Bir kaynak konumuna karar verme

Tipik olarak ekibiniz, kodu kontrol etmek için yerleşik bir yer düzenine ve test eklemek için yerlere zaten sahip olacaktır. Çoğu takımın tek bir git deposu vardır veya birini diğer ekiplerle paylaşır ancak bileşen kaynak kodunu içeren özel bir alt dizine sahiptir.

Eğer bileşen kaynağı için kök konumunu varsayılırsa olan <component source root> , en bileşenleri var src ve tests gibi bunun altında klasörleri ve bazı ek dosyalar Android.mk (veya ek bölünmüştür .bp dosyaları).

Eğer yepyeni bir test ekleyerek olduğundan, muhtemelen oluşturmanız gerekir tests yanında bileşen dizini src ve içeriği ile doldurun.

Bazı durumlarda, takımın kapsamında ilave dizin yapıları olabilir tests nedeniyle bireysel ikili içine testlerin farklı suit paketlemek için ihtiyaca. Ve bu durumda, sen altında yeni bir alt dizin oluşturmanız gerekir tests .

Örnek olarak, burada tek olan bileşenler için tipik bir dizin anahat tests klasörü:

\
 <component source root>
  \-- Android.bp (component makefile)
  \-- AndroidTest.xml (test config file)
  \-- src (component source)
  |    \-- foo.cpp
  |    \-- ...
  \-- tests (test source root)
      \-- Android.bp (test makefile)
      \-- src (test source)
          \-- foo_test.cpp
          \-- ...

ve burada birden çok test kaynağı dizinine sahip bileşenler için tipik bir dizin taslağı verilmiştir:

\
 <component source root>
  \-- Android.bp (component makefile)
  \-- AndroidTest.xml (test config file)
  \-- src (component source)
  |    \-- foo.cpp
  |    \-- ...
  \-- tests (test source root)
      \-- Android.bp (test makefile)
      \-- testFoo (sub test source root)
      |   \-- Android.bp (sub test makefile)
      |   \-- src (sub test source)
      |       \-- test_foo.cpp
      |       \-- ...
      \-- testBar
      |   \-- Android.bp
      |   \-- src
      |       \-- test_bar.cpp
      |       \-- ...
      \-- ...

Ne olursa olsun yapının, sen doldurma bitireceğiz tests dizini veya içinde ne benzer dosyalarla yeni oluşturulan alt dizini native numune gerrit değişimde dizinde. Aşağıdaki bölümlerde her dosyanın daha ayrıntılı ayrıntıları açıklanacaktır.

Kaynak kodu

Bkz Merhaba Dünya Yerli Testi Örnek için.

Açıklamalı kaynak kodu aşağıda listelenmiştir:

#include <gtest/gtest.h>

Başlık dosyası gtest için içerir. Dosya bağımlılığı otomatik kullanılarak giderilir içerdiğini unutmayın BUILD_NATIVE_TEST makefile

#include <stdio.h>

TEST(HelloWorldTest, PrintHelloWorld) {
    printf("Hello, World!");
}

gtests kullanılarak yazılır TEST makro: İlk parametre test durumda adı ve ikinci test adıdır; test ikili adıyla birlikte, sonuç panosunda görselleştirildiklerinde aşağıdaki hiyerarşiyi oluştururlar:

<test binary 1>
| \-- <test case 1>
| |   \-- <test 1>
| |   \-- <test 2>
| |   \-- ...
| \-- <test case 2>
| |   \-- <test 1>
| |   \-- ...
| \-- ...
<test binary 2>
|
...

gtest ile test yazma hakkında daha fazla bilgi için belgelerine bakın:

  • https://github.com/google/googletest/blob/master/googletest/docs/Primer.md

Basit yapılandırma dosyası

Her yeni test modülü, yapı sistemini modül meta verileri, derleme zamanı bağımlılıkları ve paketleme talimatlarıyla yönlendirmek için bir yapılandırma dosyasına sahip olmalıdır. Çoğu durumda, Soong tabanlı, Blueprint dosyası seçeneği yeterlidir. Bkz Basit Testi Yapılandırma detayları için.

Karmaşık yapılandırma dosyası

Yerine Ticaret Federasyonu kullanmak için, Android'in testi koşum, için bir test yapılandırma dosyası yazmak Ticaret Federasyonunun .

Test konfigürasyonu, test sınıfını sağlamak için özel cihaz kurulum seçeneklerini ve varsayılan argümanları belirleyebilir.

Yerel olarak derleyin ve test edin

En yaygın kullanım durumları için, istihdam ATEST .

Ağır özelleştirme gerektiren daha karmaşık vakalarda izleyin enstrümantasyon talimatları .