การทดสอบโฮสต์ JAR

ควรใช้การทดสอบโฮสต์ Java Archive (JAR) เพื่อให้ครอบคลุมโค้ดทั้งหมดของซอฟต์แวร์ ทำตามวิธีการเพื่อสร้างการทดสอบหน่วยในเครื่อง เขียน Unit Test ขนาดเล็กเพื่อตรวจสอบฟังก์ชันที่เฉพาะเจาะจงเท่านั้น

ตัวอย่าง

ไฟล์ 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 สำหรับโมดูลด้วย เพื่อให้คุณใช้ make [options] <HelloWorldHostTest> เพื่อสร้างโมดูลทดสอบและการอ้างอิงทั้งหมดได้

    name: "HelloWorldHostTest",
    
  • test_suites การตั้งค่าช่วยให้ Trade Federation Test Harness ค้นหาการทดสอบได้ง่าย คุณเพิ่มชุดการทดสอบอื่นๆ ได้ที่นี่ เช่น CTS เพื่อให้แชร์การทดสอบโฮสต์ JAR ได้

    test_suites: ["general-tests"],
    
  • การตั้งค่า static_libs จะสั่งให้ระบบบิลด์รวมเนื้อหาของโมดูลที่ระบุชื่อไว้ลงใน APK ที่ได้ของโมดูลปัจจุบัน ซึ่งหมายความว่าโมดูลที่มีชื่อแต่ละโมดูลควรสร้างไฟล์ .jar ระบบจะใช้เนื้อหาของโมดูลเพื่อแก้ไขการอ้างอิง classpath ในระหว่างเวลาคอมไพล์และรวมไว้ใน APK ที่ได้

    static_libs: [
        "junit",
    ],