इस गाइड में, Firebase Test Lab में जांच करने के लिए XCTest को तैयार करने का तरीका बताया गया है.
पहला चरण: अपने प्रोजेक्ट के डेरिव्ड डेटा की जगह कॉन्फ़िगर करना
Xcode, इकट्ठा किए गए iOS आर्टफ़ैक्ट को Derived Data डायरेक्ट्री में डालता है. इन आर्टफ़ैक्ट में, आपकी बनाई गई सभी टेस्ट भी शामिल होती हैं. अगर आप चाहें, तो उस डायरेक्ट्री के लिए डिफ़ॉल्ट जगह को रखा जा सकता है, लेकिन फ़ाइलों के लिए ज़्यादा आसानी से ऐक्सेस की जा सकने वाली जगह चुनना अक्सर मददगार होता है. खास तौर पर तब, जब आप अक्सर Test Lab के साथ टेस्ट करने जा रहे हों:
- Xcode में अपना प्रोजेक्ट खोलें.
- macOS मेन्यू बार में, फ़ाइल > प्रोजेक्ट सेटिंग... चुनें
- डेरिव्ड डेटा ड्रॉप-डाउन को डिफ़ॉल्ट जगह से पसंद के मुताबिक जगह पर बदलें.
- ड्रॉप-डाउन के नीचे मौजूद फ़ील्ड में, वह जगह चुनें जहां Xcode आपके टेस्ट का आउटपुट दिखाए. (यह आपका FOLDER_WITH_TEST_OUTPUT है)
दूसरा चरण: सामान्य टेस्ट फ़ाइल बनाना
Test Lab, XCTest फ़्रेमवर्क का इस्तेमाल करके, यूनिट टेस्ट और यूज़र इंटरफ़ेस (यूआई) टेस्ट चलाता है. अपने ऐप्लिकेशन के XCTests Test Lab डिवाइस पर चलाने के लिए, इसे किसी जेनरिक iOS डिवाइस पर टेस्ट करने के लिए बनाएं:
- Xcode वर्कस्पेस विंडो में सबसे ऊपर मौजूद, डिवाइस ड्रॉप-डाउन से, सामान्य iOS डिवाइस चुनें.
- macOS के मेन्यू बार में, प्रॉडक्ट > इसके लिए बनाएं > टेस्टिंग चुनें.
विकल्प के तौर पर, कमांड लाइन से अपना XCTest बनाया जा सकता है. टर्मिनल में यह कमांड इस्तेमाल करें:
प्रोजेक्ट
xcodebuild -project PATH/TO/YOUR_WORKSPACE/YOUR_PROJECT.xcodeproj \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_WITH_TEST_OUTPUT \ -sdk iphoneos build-for-testing
कार्यस्थान
xcodebuild -workspace PATH/TO/YOUR_WORKSPACE.xcworkspace \ -scheme YOUR_SCHEME \ -derivedDataPath FOLDER_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-iphoneos YOUR_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 CLI में अपना टेस्ट अपलोड और चलाएं.