GoogleTest

आम तौर पर, प्लैटफ़ॉर्म के लिए GoogleTest (GTest, इसे कभी-कभी "नेटिव टेस्ट" भी कहा जाता है) निचले लेवल के HAL को ऐक्सेस करता है या अलग-अलग सिस्टम सेवाओं के ख़िलाफ़ रॉ आईपीसी करता है. इस वजह से, टेस्टिंग का तरीका आम तौर पर उस सेवा से जुड़ा होता है जिसकी टेस्टिंग की जा रही है.

लगातार टेस्टिंग वाले इन्फ़्रास्ट्रक्चर के साथ इंटिग्रेट करने के लिए, GTest फ़्रेमवर्क का इस्तेमाल करके अपने GTests बनाएं.

उदाहरण

यहां प्लैटफ़ॉर्म सोर्स में GTest के कुछ उदाहरण दिए गए हैं:

चरणों की खास जानकारी

  1. GTest मॉड्यूल सेटअप करने के उदाहरण का पालन करें.

  2. GTest डिपेंडेंसी को अपने-आप शामिल करने के लिए, अपने टेस्ट मॉड्यूल कॉन्फ़िगरेशन में BUILD_NATIVE_TEST बिल्ड नियम का इस्तेमाल करें.

  3. सामान्य और जटिल विकल्पों के उदाहरणों के मुताबिक, टेस्ट कॉन्फ़िगरेशन लिखें.

  4. इंक्रीमेंटल बिल्ड के लिए mmm या फ़ुल बिल्ड के लिए mma का इस्तेमाल करके, टेस्ट मॉड्यूल बनाएं:

    make hwui_unit_tests -j
    
  5. Atest का इस्तेमाल करके, टेस्ट को स्थानीय तौर पर चलाएं:

      atest hwui_unit_tests
    

    अपने GTest में आर्ग्युमेंट भी जोड़े जा सकते हैं. ये तर्क खास तौर पर काम के होते हैं:

    • native-test-flag, GTest शेल कमांड को पास करने के लिए, फ़्लैग की अतिरिक्त वैल्यू तय करता है.
    • native-test-timeout, माइक्रोसेकंड में टेस्ट के टाइम आउट की वैल्यू तय करता है.

      यहां दिए गए उदाहरण कोड में, इन दोनों आर्ग्युमेंट का इस्तेमाल किया गया है:

      atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \
         --module-arg test-name:native-test-timeout:60000
      
  6. ट्रेड फ़ेडरेशन टेस्ट हार्नेस का इस्तेमाल करके टेस्ट चलाएं:

    make tradefed-all -j
    tradefed.sh run template/local_min --template:map test=hwui_unit_tests
    
  7. मैन्युअल तरीके से इंस्टॉल और रन करें:

    1. जनरेट की गई टेस्ट बाइनरी को अपने डिवाइस पर पुश करें:

       adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \
       /data/nativetest/hwui_unit_tests/hwui_unit_tests
      
    2. GTest लॉन्च करें और डिवाइस पर टेस्ट बाइनरी शुरू करके टेस्ट करें:

       adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests
      

      टेस्ट के एक्ज़ीक्यूशन को पसंद के मुताबिक बनाने के बारे में ज़्यादा जानकारी के लिए, अपने टेस्ट बाइनरी में --help पैरामीटर जोड़ें. पैरामीटर के बारे में ज़्यादा जानने के लिए, GTest की ऐडवांस गाइड देखें.