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 trongcom.android.tradefed.DeviceFuncTests
. Mặt khác, định nghĩa bộ phần mềm nằm trongcom.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:
- Đả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. - Tạo một ứng dụng Java. Chạy cấu hình qua Run > Runconfigurations .
- Đặt dự án thành
tradefed-tests
và lớp chính thànhcom.android.tradefed.command.CommandRunner
. - Chạy
m tradefed-all
. - 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>
- Nhấp vào Chạy .
Để chạy thử nghiệm chức năng bên ngoài Eclipse.
- Xây dựng Liên đoàn Thương mại.
- Kết nối thiết bị Android với máy chủ.
- Chạy
tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
- 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ủaadb 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.