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

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

ตัวอย่าง

ไฟล์ Blueprint ต่อไปนี้มีตัวอย่างการทดสอบโฮสต์ Hello World JAR แบบง่าย สำหรับคัดลอกและปรับให้เข้ากับความต้องการ 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 ช่วยให้ฝ่ายทดสอบของสมาพันธ์การค้าค้นพบการทดสอบได้อย่างง่ายดาย คุณเพิ่มชุดทดสอบอื่นๆ ได้ที่นี่ เช่น CTS เพื่อแชร์การทดสอบโฮสต์ของ JAR ด้วย

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

    static_libs: [
        "junit",
    ],