इस गाइड में, Firebase Test Lab में जांच करने के लिए XCTest को तैयार करने का तरीका बताया गया है.
पहला चरण: अपने प्रोजेक्ट के डेरिव्ड डेटा की जगह कॉन्फ़िगर करना
Xcode, इकट्ठा किए गए iOS आर्टफ़ैक्ट को Derived Data डायरेक्ट्री में डालता है. इन आर्टफ़ैक्ट में, आपकी बनाई गई सभी टेस्ट भी शामिल होती हैं. अगर आप चाहें, तो उस डायरेक्ट्री के लिए डिफ़ॉल्ट जगह को बनाए रखा जा सकता है. हालांकि, फ़ाइलों के लिए ऐसी जगह चुनना ज़्यादा मददगार होता है जिसे आसानी से ऐक्सेस किया जा सके. ऐसा तब ज़रूरी होता है, जब आपको अक्सर Test Lab के साथ टेस्ट चलाने हैं:
- Xcode में अपना प्रोजेक्ट खोलें.
- macOS मेन्यू बार में, फ़ाइल > प्रोजेक्ट सेटिंग... चुनें
- डेरिव्ड डेटा ड्रॉप-डाउन को डिफ़ॉल्ट जगह से पसंद के मुताबिक जगह पर बदलें.
- ड्रॉप-डाउन के नीचे मौजूद फ़ील्ड में, वह जगह चुनें जहां Xcode आपके टेस्ट का आउटपुट दिखाए. (यह आपका
FOLDER_WITH_TEST_OUTPUT है)
दूसरा चरण: सामान्य टेस्ट फ़ाइल बनाना
Test Lab, XCTest फ़्रेमवर्क का इस्तेमाल करके, यूनिट टेस्ट और यूज़र इंटरफ़ेस (यूआई) टेस्ट चलाता है. Test Lab डिवाइसों पर अपने ऐप्लिकेशन के XCTests चलाने के लिए, इसे किसी सामान्य iOS डिवाइस पर जांच के लिए बनाएं:
- Xcode वर्कस्पेस विंडो में सबसे ऊपर मौजूद, डिवाइस ड्रॉप-डाउन से, सामान्य iOS डिवाइस चुनें.
- macOS मेन्यू बार में, प्रॉडक्ट > इसके लिए बनाएं > जांच करना को चुनें.
इसके अलावा, कमांड-लाइन से भी XCTest बनाया जा सकता है. टर्मिनल में यह कमांड इस्तेमाल करें:
xcodebuild -projectPATH/TO/YOUR_WORKSPACE /YOUR_PROJECT .xcodeproj \ -schemeYOUR_SCHEME \ -derivedDataPathFOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
xcodebuild -workspacePATH/TO/YOUR_WORKSPACE .xcworkspace \ -schemeYOUR_SCHEME \ -derivedDataPathFOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
तीसरा चरण: अपने टेस्ट पर हस्ताक्षर करना और उसकी पुष्टि करना
पक्का करें कि ऐप्लिकेशन और टेस्ट में मौजूद सभी आर्टफ़ैक्ट पर हस्ताक्षर किए गए हों. उदाहरण के लिए, Xcode की मदद से ऐसा किया जा सकता है. इसके लिए, आपको साइन करने की सेटिंग तय करनी होगी. जैसे, प्रोविज़निंग प्रोफ़ाइल और पहचान. ज़्यादा जानकारी के लिए, Apple कोड साइनिंग देखें.
codesign --verify --deep --verbose /path/to/MyApp.app
चलाकर, ऐप्लिकेशन हस्ताक्षर की पुष्टि करें. यहां "MyApp", अनज़िप किए गए फ़ोल्डर में मौजूद ऐप्लिकेशन का नाम है. यह हर प्रोजेक्ट के हिसाब से अलग-अलग होता है. अनुमानित आउटपुटMyApp.app: valid on disk
है.अगर XCUITest चलाया जा रहा है, तो आपको
codesign --verify --deep --verbose /path/to/MyTest-Runner.app
चलाकर, टेस्ट और रनर की पुष्टि करनी होगी. यहां "MyTest", अनज़िप किए गए फ़ोल्डर में मौजूद रनर का नाम है. यह हर प्रोजेक्ट के लिए अलग-अलग होता है. अनुमानित आउटपुटMyTest-Runner.app: valid on disk
है.
चौथा चरण: अपने ऐप्लिकेशन को पैकेज करना और अपलोड करने के लिए जांच करना
जांच पूरी होने के बाद, उसे Test Lab पर अपलोड करने के लिए ज़िप करें:
cd
FOLDER_WITH_TEST_OUTPUT /Build/Products : \ zip -r MyTests.zip Debug-iphoneosYOUR_SCHEME _iphoneosDEPLOYMENT_TARGET -arm64.xctestrun
टेस्ट फ़ाइलों को मैन्युअल तरीके से कंप्रेस करके भी, टेस्ट को पैकेज किया जा सकता है:
Finder खोलें और
पर जाएं.FOLDER_WITH_TEST_OUTPUT वह फ़ोल्डर खोलें जिसमें आपके प्रोजेक्ट का नाम प्रीफ़िक्स के तौर पर है. इसके बाद, उसमें मौजूद
Build/Products
फ़ोल्डर पर जाएं.Debug-iphoneos
और
फ़ोल्डर चुनें और फिर उन्हें कंप्रेस करें.YOUR_SCHEME _iphoneosDEPLOYMENT_TARGET -arm64.xctestrun
पांचवां चरण: (ज़रूरी नहीं) टेस्ट को स्थानीय तौर पर चलाना
Test Lab की मदद से टेस्ट करने से पहले, यूएसबी से कनेक्ट किए गए डिवाइस पर इसे स्थानीय तौर पर चलाया जा सकता है. इससे, इसकी परफ़ॉर्मेंस की जांच की जा सकती है:
xcodebuild test-without-building \ -xctestrun "Derived Data/Build/Products/YOUR_SCHEME .xctestrun" \ -destination id=your-phone-id
अगले चरण
Firebase कंसोल या gcloud सीएलआई में अपना टेस्ट अपलोड और चलाएं.