Google มุ่งมั่นที่จะพัฒนาความเท่าเทียมทางเชื้อชาติสำหรับชุมชนคนผิวดำ มาดูกันว่า
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

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

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

ตัวอย่าง

ไฟล์พิมพ์เขียวต่อไปนี้เป็นตัวอย่างการทดสอบโฮสต์ 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

การตั้งค่า

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

  • จำเป็นต้องใช้การตั้งค่า 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 เนื้อหาของโมดูลนั้นใช้สำหรับการแก้ปัญหาการอ้างอิง classpath ในช่วงเวลารวบรวมและรวมเข้าไปใน APK ที่เป็นผลลัพธ์

     static_libs: [
        "junit",
    ],