Nên triển khai chương trình kiểm thử máy chủ lưu trữ Java (JAR) để cung cấp mã hoàn chỉnh mức độ sử dụng của phần mềm. Làm theo hướng dẫn để Tạo đơn vị cục bộ kiểm thử. Viết mã kiểm thử đơn vị nhỏ để xác thực một chức năng cụ thể và không làm gì khác.
Ví dụ
Tệp Blueprint sau đây cung cấp ví dụ đơn giản về kiểm thử máy chủ JAR chứa nội dung Hello World để sao chép và điều chỉnh cho phù hợp với nhu cầu của bạn: platform_testing/tests/example/jarhosttest/Android.bp
Mã này tương ứng với mã kiểm thử thực tế có tại: platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java
Để thuận tiện cho bạn, tôi có thể cung cấp ảnh chụp nhanh của tệp Blueprint ở đây:
java_test_host {
name: "HelloWorldHostTest",
test_suites: ["general-tests"],
srcs: ["test/**/*.java"],
static_libs: [
"junit",
"mockito",
],
}
Phần khai báo java_test_host
ở phần đầu cho biết đây là tệp JAR
máy chủ lưu trữ. Xem ví dụ về cách sử dụng mã trong:
frameworks/base/tools/powermodel/Android.bp
Cài đặt
Xem phần giải thích bên dưới về các chế độ cài đặt sau:
Chế độ cài đặt
name
là bắt buộc khi loại mô-đunjava_test_host
là được chỉ định (ở đầu khối). Chế độ cài đặt này đặt tên cho mô-đun và kết quả JAR thu được có cùng tên và hậu tố.jar
. Trong ví dụ bên dưới,kết quả JAR kiểm thử được đặt tên làHelloWorldHostTest.jar
. Ngang bằng Ngoài ra, chế độ cài đặt này cũng xác định tên mục tiêu make cho mô-đun của bạn, vì vậy, bạn có thể sử dụngmake [options] <HelloWorldHostTest>
để tạo kiểm thử mô-đun và tất cả các phần phụ thuộc của nó.name: "HelloWorldHostTest",
Chế độ cài đặt
test_suites
giúp thương hiệu dễ dàng phát hiện bài kiểm thử Khai thác kiểm thử liên kết. Bạn có thể thêm các bộ kiểm thử khác vào đây, chẳng hạn như CTS, để có thể chia sẻ chương trình kiểm thử máy chủ JAR.test_suites: ["general-tests"],
Chế độ cài đặt
static_libs
hướng dẫn hệ thống xây dựng kết hợp nội dung của các mô-đun được đặt tên vào APK kết quả của mô-đun hiện tại. Điều này có nghĩa là mỗi mô-đun được đặt tên dự kiến sẽ tạo một tệp.jar
. Nội dung của mô-đun được dùng để phân giải các tham chiếu đường dẫn lớp trong thời gian biên dịch và tích hợp vào APK thu được.static_libs: [ "junit", ],