इस सेक्शन में ट्रेड फ़ेडरेशन के टेस्ट चलाने और उनमें योगदान देने का तरीका बताया गया है प्रोजेक्ट में बदलाव करने के बाद. इसमें ये शामिल हैं:
- नई यूनिट टेस्ट क्लास कहां जोड़ें
- Eclipse में और Eclipse IDE के बाहर यूनिट टेस्ट करना
- फ़ंक्शनल टेस्ट कहां जोड़ें
- फ़ंक्शनल टेस्ट करना
- स्थानीय तौर पर, पहले से सबमिट किए जाने वाले कुछ टीएफ़ की पुष्टि की जा रही है
यूनिट टेस्ट जोड़ना
Android ओपन सोर्स प्रोजेक्ट (AOSP) में, यूनिट टेस्ट क्लास को इसमें जोड़ें: टूल/tradefederation/core/tests/src/com/android/tradefed/UnitTests.java
अहम जानकारी: इन जगहों में अपनी नई यूनिट टेस्ट क्लास जोड़ने से ये नतीजे मिलेंगे वे बिना किसी अतिरिक्त सेटअप के, प्रीसबमिट करने की प्रोसेस में अपने-आप चलने लगते हैं.
यूनिट टेस्ट चलाना
ट्रेड फ़ेडरेशन के लिए सभी एओएसपी यूनिट टेस्ट और फ़ंक्शनल टेस्ट इस देश में मौजूद हैं
यह
tools/tradefederation/core/tests
प्रोजेक्ट.
ग्रहण के अंदर, एक इकाई परीक्षण चलाने के लिए बस परीक्षण पर राइट-क्लिक करें और इस रूप में चलाएं > JUnit. सभी यूनिट टेस्ट चलाने के लिए, com.android.tradefed.UnitTests सुइट.
ट्रेडेड सोर्स में कमांड लाइन से भी यूनिट की जांच शुरू की जा सकती है
एक पेड़ से दूसरे पेड़ की तरह:
tools/tradefederation/core/javatests/run_tradefed_tests.sh
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
यूनिट टेस्ट को स्टैंडअलोन टेस्ट किया जा सकता है, लेकिन फ़ंक्शनल टेस्ट लागू किए जाने चाहिए
ट्रेड फ़ेडरेशन का इस्तेमाल करके; उनके लिए Android डिवाइस की ज़रूरत होती है. सभी फ़ंक्शनल
टेस्ट को नाम रखने के तरीके *FuncTest
के हिसाब से होना चाहिए.
यूनिट टेस्ट के नतीजे देखना
run_tradefed_tests.sh
को चलाने पर, यूनिट टेस्ट में इसके सभी हिस्सों की कसरत की जा रही है
गड़बड़ी की कुछ स्थितियों सहित टेस्ट हार्नेस का इस्तेमाल करें. यह वर्बोस आउटपुट प्रिंट करेगा
को भी कंसोल में जोड़ सकता है. इसमें स्टैक ट्रेस भी शामिल हैं.
नतीजों की खास जानकारी से यह पता चलेगा कि कोई गड़बड़ी हुई है या नहीं.
कंसोल में फ़ाइनल खास जानकारी का उदाहरण:
12:55:02 ========== Result Summary ==========
Results summary for test-tag 'TFUnitTests': 3355 Tests [3355 Passed]
सभी जांचों का रखरखाव किया जाता है, ताकि उन्हें पास किया जा सके. इसलिए, अगर आपके डिवाइस में कोई बदलाव करने पर कोई गड़बड़ी होती है, तो कृपया यह पक्का करें कि जांच ठीक कर ली गई हैं.
फ़ंक्शनल टेस्ट जोड़ें
अगर आपके फ़ंक्शनल टेस्ट में कोई डिवाइस शामिल है (किसी भी
ITestDevice
एपीआई का इस्तेमाल करता है) सुइट की परिभाषा,com.android.tradefed.DeviceFuncTests
में मौजूद है. अगर ऐसा नहीं है, तो सुइट की डेफ़िनिशनcom.android.tradefed.FuncTests
में मौजूद है.अगर जांच करने के आपके तरीकों के हिसाब से, किसी मौजूदा Suite की सब-क्लास का इस्तेमाल किया जा सकता है, तो तो उसे वहां जोड़ें. या फिर, बेझिझक सुइट.
दोनों ही मामलों में, इसे सुइट में जोड़ने से टेस्ट अपने-आप शुरू हो जाता है CI पाइपलाइन में काम कर रहा है.
फ़ंक्शनल टेस्ट करना
Eclipse से फ़ंक्शनल टेस्ट करने के लिए:
- पक्का करें कि डिवाइस, होस्ट और
adb
से कनेक्ट हो. साथ ही, अगर ज़रूरी होfastboot
, Eclipse के PATH में हैं. इसका सबसे आसान तरीका है कि उचित PATH के साथ शेल सेटअप से ग्रहण करें. - कोई Java ऐप्लिकेशन बनाएं. Run > दौड़ना कॉन्फ़िगरेशन हैं.
- प्रोजेक्ट को
tradefed-tests
और मुख्य क्लास को इस पर सेट करेंcom.android.tradefed.command.CommandRunner
. m tradefed-all
चलाएं.- आर्ग्युमेंट टैब में, ये कमांड लाइन आर्ग्युमेंट उपलब्ध कराएं:
host --class <full path of test class to run>
- चलाएं पर क्लिक करें.
Eclipse के बाहर फ़ंक्शनल टेस्ट करने के लिए.
- ट्रेड फ़ेडरेशन बनाएं.
- किसी Android डिवाइस को होस्ट से कनेक्ट करें.
tools/tradefederation/core/javatests/run_tradefed_func_tests.sh
चलाएं- आप चाहें, तो
--serial <serial no>
को डिवाइस के तौर पर जोड़कर, डिवाइस को चुनेंadb devices
के आउटपुट में दिखता है.
स्थानीय बदलावों के हिसाब से TF प्री-सबमिट टेस्ट चलाना
अगर आपको TF प्रीसबमिट की तरह ही चलाना है, तो इसका इस्तेमाल करें:
tools/tradefederation/core/javatests/run_tradefed_aosp_presubmit.sh
यह आपके स्थानीय तौर पर बनाए गए TF के लिए, सभी TF प्री-सबमिट टेस्ट को ट्रिगर करेगा. की मदद से यह पुष्टि की जा सकती है कि आपके बदलाव का असर किसी भी टेस्ट पर नहीं हो रहा है.
TF प्री-सबमिट टेस्ट, ऊपर दिए गए यूनिट टेस्ट के सुपरसेट हैं. हालांकि, ये टेस्ट उन्हें चलाना. इसलिए यह सुझाव दिया जाता है कि डेवलपमेंट के दौरान यूनिट टेस्ट चलाएं पुष्टि करने और सीएल (CL) अपलोड करने से पहले, प्री-सबमिट किए गए अनुरोधों को चलाने के लिए किया जा सकता है.