Bao gồm các bài kiểm tra đơn vị và chức năng

Phần này giải thích cách chạy và đóng góp cho các bài kiểm tra của Liên đoàn Thương mại sau khi thực hiện thay đổi đối với dự án. Điêu nay bao gôm:

  • Nơi thêm các lớp kiểm tra đơn vị mới
  • Chạy thử nghiệm đơn vị trong Eclipse và bên ngoài IDE Eclipse
  • Nơi thêm các bài kiểm tra chức năng
  • Chạy thử nghiệm chức năng
  • Chạy một số xác thực gửi trước TF cục bộ

Thêm bài kiểm tra đơn vị

Trong Dự án mã nguồn mở Android (AOSP), hãy thêm lớp kiểm tra đơn vị vào: tools/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java

QUAN TRỌNG: Việc thêm các lớp kiểm tra đơn vị mới của bạn vào các vị trí này sẽ khiến chúng tự động chạy trong chế độ gửi trước mà không cần thiết lập bổ sung.

Chạy thử nghiệm đơn vị

Tất cả các bài kiểm tra đơn vị AOSP và bài kiểm tra chức năng dành cho Liên đoàn Thương mại đều nằm trong dự án tools/tradefederation/core/tests .

Bên trong Eclipse, để chạy thử nghiệm đơn vị riêng lẻ, chỉ cần nhấp chuột phải vào thử nghiệm và chọn Run As > JUnit . Để chạy tất cả các bài kiểm tra đơn vị, hãy chạy bộ com.android.tradefed.UnitTests .

Bạn cũng có thể bắt đầu kiểm thử đơn vị từ dòng lệnh trong cây nguồn Tradefed sau khi xây dựng, như sau: tools/tradefederation/core/javatests/run_tradefed_tests.sh

Kiểm tra đơn vị có thể được thực hiện độc lập, nhưng kiểm tra chức năng phải được thực hiện bằng cách sử dụng chính Liên đoàn Thương mại; họ yêu cầu một thiết bị Android. Tất cả các thử nghiệm chức năng phải tuân theo quy ước đặt tên *FuncTest .

Kiểm tra kết quả kiểm tra đơn vị

Khi chạy run_tradefed_tests.sh , các bài kiểm tra đơn vị đang thực hiện tất cả các phần của khai thác kiểm tra bao gồm một số điều kiện lỗi. Nó sẽ in kết quả chi tiết ra bàn điều khiển, bao gồm cả dấu vết ngăn xếp.

Bản tóm tắt cuối cùng về kết quả sẽ cho biết liệu có xảy ra lỗi hay không.

Ví dụ tóm tắt cuối cùng trong bảng điều khiển:

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

Tất cả các bài kiểm tra đều được duy trì để vượt qua, vì vậy nếu có bất kỳ lỗi nào xảy ra trong thay đổi cục bộ của bạn, hãy đảm bảo rằng các bài kiểm tra đã được khắc phục.

Thêm các bài kiểm tra chức năng

  • Nếu thử nghiệm chức năng của bạn liên quan đến một thiết bị (sử dụng bất kỳ API ITestDevice nào) thì định nghĩa bộ phần mềm nằm trong com.android.tradefed.DeviceFuncTests . Mặt khác, định nghĩa bộ phần mềm nằm trong com.android.tradefed.FuncTests .

  • Nếu phương pháp thử nghiệm của bạn hợp lý khi đặt vào một trong các lớp con của bộ công cụ hiện có, hãy thêm nó vào đó. Nếu không, vui lòng thêm một lớp mới vào bộ ứng dụng.

  • Trong cả hai trường hợp, bằng cách thêm nó vào bộ phần mềm, thử nghiệm của bạn sẽ tự động chạy trong quy trình CI cùng với các thử nghiệm chức năng khác.

Chạy thử nghiệm chức năng

Để chạy thử nghiệm chức năng từ Eclipse:

  1. Đảm bảo một thiết bị được kết nối với máy chủ và adb đó cũng như fastboot nếu cần đều nằm trong PATH của Eclipse. Cách dễ nhất để thực hiện việc này là khởi chạy Eclipse từ thiết lập shell với PATH thích hợp.
  2. Tạo một ứng dụng Java. Chạy cấu hình qua Run > Runconfigurations .
  3. Đặt dự án thành tradefed-tests và lớp chính thành com.android.tradefed.command.CommandRunner .
  4. Chạy m tradefed-all .
  5. Cung cấp các đối số dòng lệnh sau trong tab Đối số : host --class <full path of test class to run>
  6. Nhấp vào Chạy .

Để chạy thử nghiệm chức năng bên ngoài Eclipse.

  1. Xây dựng Liên đoàn Thương mại.
  2. Kết nối thiết bị Android với máy chủ.
  3. Chạy tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
  4. Tùy chọn, chọn thiết bị bằng cách thêm --serial <serial no> khi nó xuất hiện trong đầu ra của adb devices .

Chạy thử nghiệm gửi trước TF đối với các thay đổi cục bộ

Nếu bạn muốn chạy theo cách tương tự như gửi trước TF, hãy sử dụng cách này:

tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh

Điều này sẽ kích hoạt tất cả các thử nghiệm gửi trước TF đối với TF được tạo cục bộ của bạn để giúp bạn xác thực rằng thay đổi của bạn không vi phạm bất kỳ thử nghiệm nào.

Các bài kiểm tra gửi trước TF là một tập hợp lớn các bài kiểm tra đơn vị ở trên, nhưng việc chạy chúng sẽ chậm hơn. Vì vậy, bạn nên chạy thử nghiệm đơn vị trong quá trình phát triển để xác thực nhanh hơn và chạy gửi trước trước khi tải CL lên.