Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Kiểm tra thiết bị

Trước hết hãy đọc thử nghiệm ứng dụng của bạn trên developer.android.com. Hãy lưu ý rằng có một số khác biệt trong cách kiểm tra thiết bị đo được sử dụng trong kiểm tra nền tảng.

Nói tóm lại, một thử nghiệm thiết bị đo đạc cung cấp một môi trường thực thi kiểm tra đặc biệt như khởi chạy thông qua am instrument lệnh, nơi quá trình ứng dụng nhắm mục tiêu được khởi động lại và khởi tạo với bối cảnh ứng dụng cơ bản, và một chủ đề thiết bị đo đạc được bắt đầu trong quá trình ứng dụng VM. Mã kiểm tra của bạn bắt đầu thực hiện vào chủ đề thiết bị đo đạc này và được cung cấp với một Instrumentation dụ cung cấp truy cập tới bối cảnh ứng dụng và API để thao tác quá trình áp dụng thử.

Ý chính

  • một thiết bị đo đạc phải được khai báo trong một gói phần mềm ứng dụng, với một <instrumentation> thẻ lồng nhau dưới <manifest> tag của manifest gói ứng dụng.
  • một biểu hiện gói ứng dụng về mặt kỹ thuật có thể chứa nhiều <instrumentation> thẻ, mặc dù nó không thường được sử dụng theo cách này.
  • mỗi <instrumentation> phải chứa:
    • một android:name thuộc tính: nó phải là tên của một lớp con của Instrumentation đó là bao gồm trong ứng dụng thử nghiệm, thường là Á hậu thử nghiệm đang được sử dụng, ví dụ như: android.support.test.runner.AndroidJUnitRunner
    • một android:targetPackage thuộc tính phải được xác định. Giá trị của nó phải được đặt thành gói ứng dụng đang thử nghiệm.

Tóm tắt các bước

  1. Dưới đây là các điểm đến phổ biến cho các bài kiểm tra kín đối với các dịch vụ khung:

    frameworks/base/core/tests/coretests
    frameworks/base/services/tests/servicestests
    

    Nếu bạn đang thêm một mô-đun thiết bị đo mới hoàn toàn cho thành phần của mình, hãy xem

  2. Tuân theo quy ước hiện có nếu bạn đang thêm các bài kiểm tra vào một trong các vị trí ở trên. Nếu bạn đang thiết lập một mô-đun thử nghiệm mới, hãy làm theo các thiết lập của AndroidManifest.xmlAndroid.mk tại một trong những địa điểm trên

  3. Xem khung / cơ sở / lõi / kiểm tra / coretests / cho một ví dụ. Lưu ý những dòng sau để cài đặt các ứng dụng bổ sung:

    <option name="test-file-name" value="FrameworksCoreTests.apk" />
    <option name="test-file-name" value="BstatsTestApp.apk" />
    
  4. Đừng quên để đánh dấu thử nghiệm của bạn như @SmallTest , @MediumTest hoặc @LargeTest

  5. Xây dựng mô-đun thử nghiệm với m, ví dụ:

    m FrameworksCoreTests
    
  6. Chạy các bài kiểm tra:

    m tradefed-all
    tradefed.sh run template/local_min --template:map test=FrameworksCoreTests
    
  7. Nếu không sử dụng Tradefed, hãy cài đặt và chạy thử nghiệm theo cách thủ công:

    1. Cài đặt apk đã tạo:
    adb install -r ${OUT}/data/app/FrameworksCoreTests/FrameworksCoreTests.apk
    

    Mẹo: bạn sử dụng adb shell pm list instrumentation để tìm instrumentations bên trong gói ứng dụng chỉ cần cài đặt

    1. Chạy các bài kiểm tra với các tùy chọn khác nhau:

      1. tất cả các bài kiểm tra trong apk

        adb shell am instrument -w com.android.frameworks.coretests\
          /android.support.test.runner.AndroidJUnitRunner
        
      2. tất cả các bài kiểm tra trong một gói Java cụ thể

        adb shell am instrument -w -e package android.animation \
          com.android.frameworks.coretests\
          /android.support.test.runner.AndroidJUnitRunner
        
      3. tất cả các bài kiểm tra theo một lớp cụ thể

        adb shell am instrument -w -e class \
          android.animation.AnimatorSetEventsTest \
          com.android.frameworks.coretests\
          /android.support.test.runner.AndroidJUnitRunner
        
      4. một phương pháp kiểm tra cụ thể

        adb shell am instrument -w -e class \
          android.animation.AnimatorSetEventsTest#testCancel \
          com.android.frameworks.coretests\
          /android.support.test.runner.AndroidJUnitRunner
        

Thử nghiệm của bạn có thể làm cho một sự khẳng định rõ ràng về thông qua hoặc không sử dụng JUnit API; Ngoài ra, bất kỳ trường hợp ngoại lệ nào không được cân nhắc cũng sẽ gây ra lỗi chức năng.

Để phát ra số liệu hiệu suất, mã thử nghiệm của bạn có thể gọi Instrumentation#sendStatus để gửi ra một danh sách các cặp khóa-giá trị. Điều quan trọng cần lưu ý là:

  1. số liệu có thể là số nguyên hoặc dấu phẩy động
  2. mọi giá trị không phải số sẽ bị loại bỏ
  3. apk kiểm tra của bạn có thể là kiểm tra chức năng hoặc kiểm tra chỉ số, tuy nhiên, việc kết hợp cả hai hiện không được hỗ trợ