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

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

ตัวอย่าง

ไฟล์ 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 การทดสอบโฮสต์ ดูตัวอย่างการใช้งานได้ใน เฟรมเวิร์ก/base/tools/powermodel/Android.bp

การตั้งค่า

โปรดดูคำอธิบายการตั้งค่าต่อไปนี้ที่ด้านล่าง

  • ต้องตั้งค่า name เมื่อประเภทโมดูล java_test_host คือ (ที่จุดเริ่มต้นของการบล็อก) การตั้งค่านี้ตั้งชื่อให้ และ JAR ที่ได้จะมีชื่อเดียวกันและต่อท้ายด้วย .jar ใน ตัวอย่างด้านล่าง ผลที่ได้จากการทดสอบ JAR มีชื่อว่า HelloWorldHostTest.jar ใน นอกจากนี้ การตั้งค่านี้จะกำหนดชื่อเป้าหมาย "สร้าง" ของโมดูลด้วย ดังนั้น ที่คุณสามารถใช้ make [options] <HelloWorldHostTest> เพื่อสร้างการทดสอบ และทรัพยากร Dependency ทั้งหมด

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

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

    static_libs: [
        "junit",
    ],