คุณควรใช้การทดสอบโฮสต์ไฟล์เก็บถาวร Java (JAR) เพื่อให้ครอบคลุมโค้ดทั้งหมดของซอฟต์แวร์ ทำตามวิธีการสร้างการทดสอบยูนิตในเครื่อง เขียนการทดสอบยูนิตขนาดเล็กเพื่อตรวจสอบฟังก์ชันที่เฉพาะเจาะจงเท่านั้น
ตัวอย่าง
ไฟล์ BluePrint ต่อไปนี้มีตัวอย่างการทดสอบโฮสต์ JAR ของ Hello World แบบง่ายไว้ให้คัดลอกและปรับให้เหมาะกับความต้องการของคุณ platform_testing/tests/example/jarhosttest/Android.bp
ข้อมูลนี้สอดคล้องกับโค้ดทดสอบจริงที่พบที่ platform_testing/tests/example/jarhosttest/test/android/test/example/helloworld/HelloWorldTest.java
เราได้รวมภาพรวมของไฟล์ BluePrint ไว้ที่นี่เพื่อความสะดวก
java_test_host {
name: "HelloWorldHostTest",
test_suites: ["general-tests"],
srcs: ["test/**/*.java"],
static_libs: [
"junit",
"mockito",
],
}
การประกาศ java_test_host
ที่จุดเริ่มต้นบ่งบอกว่านี่เป็นการทดสอบโฮสต์ JAR ดูตัวอย่างการใช้งานได้ที่
frameworks/base/tools/powermodel/Android.bp
การตั้งค่า
ดูคำอธิบายการตั้งค่าต่อไปนี้ได้ที่ด้านล่าง
ต้องมีการตั้งค่า
name
เมื่อระบุประเภทข้อบังคับjava_test_host
(ที่จุดเริ่มต้นของบล็อก) การตั้งค่านี้จะตั้งชื่อให้กับข้อบังคับ และ JAR ที่สร้างขึ้นจะมีชื่อเดียวกันและมีคำต่อท้าย.jar
ในตัวอย่างด้านล่าง JAR ทดสอบที่ได้จะมีชื่อว่าHelloWorldHostTest.jar
นอกจากนี้ การตั้งค่านี้ยังกำหนดชื่อเป้าหมายของคอมไพล์สำหรับโมดูลด้วย เพื่อให้คุณใช้make [options] <HelloWorldHostTest>
เพื่อสร้างโมดูลทดสอบและไลบรารีทั้งหมดที่เกี่ยวข้องได้name: "HelloWorldHostTest",
การตั้งค่า
test_suites
ช่วยให้ชุดทดสอบของ Trade Federation ค้นพบการทดสอบได้โดยง่าย คุณสามารถเพิ่มชุดทดสอบอื่นๆ ที่นี่ได้ เช่น CTS เพื่อให้แชร์การทดสอบโฮสต์ JAR ได้test_suites: ["general-tests"],
การตั้งค่า
static_libs
จะสั่งให้ระบบบิลด์รวมเนื้อหาของโมดูลที่มีชื่อไว้ใน APK ที่ได้ของโมดูลปัจจุบัน ซึ่งหมายความว่าโมดูลที่มีชื่อแต่ละรายการควรสร้างไฟล์.jar
ระบบจะใช้เนื้อหาของโมดูลในการแก้ไขการอ้างอิง classpath ในระหว่างเวลาคอมไพล์และรวมไว้ใน APK ที่ได้static_libs: [ "junit", ],