XCTest चलाएं

इस गाइड में Firebase टेस्ट लैब में टेस्टिंग के लिए XCTest तैयार करने का तरीका बताया गया है.

पहला चरण: अपने प्रोजेक्ट के व्युत्पन्न डेटा की जगह को कॉन्फ़िगर करें

Xcode, iOS आर्टफ़ैक्ट को कंपाइल करता है. इसमें Derived डेटा डायरेक्ट्री में, आपके बनाए गए सभी टेस्ट भी शामिल हैं. अगर आप चाहें, तो उस डायरेक्ट्री के लिए डिफ़ॉल्ट जगह को रखा जा सकता है, लेकिन फ़ाइलों के लिए ज़्यादा आसानी से ऐक्सेस की जा सकने वाली जगह चुनना अक्सर मददगार होता है. खास तौर पर तब, जब आप अक्सर टेस्ट लैब से टेस्ट चलाने वाले हों:

  1. अपने प्रोजेक्ट को Xcode में खोलें.
  2. macOS के मेन्यू बार में, फ़ाइल > प्रोजेक्ट सेटिंग... चुनें
  3. दूसरा डेटा ड्रॉप-डाउन को डिफ़ॉल्ट जगह से बदलकर पसंद के मुताबिक जगह पर सेट करें.
  4. ड्रॉप-डाउन के नीचे मौजूद फ़ील्ड में, Xcode के लिए कोई जगह चुनें, ताकि आपको जांच के लिए आउटपुट देने की सुविधा मिल सके. (यह आपका FOLDER_WITH_TEST_OUTPUT है)

दूसरा चरण: टेस्ट के लिए जेनरिक फ़ाइल बनाना

टेस्ट लैब, XCTest फ़्रेमवर्क का इस्तेमाल करके यूनिट टेस्ट और यूज़र इंटरफ़ेस (यूआई) टेस्ट करता है. टेस्ट लैब वाले डिवाइसों पर अपने ऐप्लिकेशन के XCTests चलाने के लिए, इसे किसी जेनरिक iOS डिवाइस पर टेस्ट करने के लिए बनाएं:

  1. अपनी Xcode फ़ाइल फ़ोल्डर की विंडो में सबसे ऊपर मौजूद डिवाइस के ड्रॉप-डाउन से, जेनेरिक iOS डिवाइस चुनें.
  2. 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

तीसरा चरण: टेस्ट पर हस्ताक्षर करें और पुष्टि करें

  1. पक्का करें कि ऐप्लिकेशन और जांच के सभी आर्टफ़ैक्ट को साइन किया गया हो. उदाहरण के लिए, Xcode की मदद से ऐसा किया जा सकता है. इसके लिए, प्रॉविज़निंग प्रोफ़ाइल और आइडेंटिटी जैसी साइनिंग सेटिंग तय करें. ज़्यादा जानकारी के लिए, Apple Code साइनिंग पर जाएं.

  2. codesign --verify --deep --verbose /path/to/MyApp.app चलाकर ऐप्लिकेशन हस्ताक्षर की पुष्टि करें. यहां "MyApp", अनज़िप किए गए फ़ोल्डर में मौजूद ऐप्लिकेशन का नाम है. यह संख्या हर प्रोजेक्ट के हिसाब से अलग-अलग होती है. अनुमानित आउटपुट MyApp.app: valid on disk है.

  3. अगर XCUITest चलाया जा रहा है, तो आपको codesign --verify --deep --verbose /path/to/MyTest-Runner.app चलाकर जांच और रनर की पुष्टि करनी होगी. यहां अनज़िप किए गए फ़ोल्डर में मौजूद रनर का नाम "MyTest" है. यह हर प्रोजेक्ट के लिए अलग-अलग होता है. अनुमानित आउटपुट MyTest-Runner.app: valid on disk है.

चौथा चरण: अपने ऐप्लिकेशन को पैकेज करें और उसे अपलोड करने की जांच करें

  1. टेस्ट तैयार हो जाने के बाद, उसे टेस्ट लैब में अपलोड करने के लिए ज़िप करें:

    cd FOLDER_WITH_TEST_OUTPUT/Build/Products : \
    zip -r MyTests.zip Debug-iphoneos YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun
    

टेस्ट फ़ाइलों को मैन्युअल तरीके से कंप्रेस करके भी, टेस्ट को पैकेज किया जा सकता है:

  1. Finder खोलें और FOLDER_WITH_TEST_OUTPUT पर जाएं.

  2. वह फ़ोल्डर खोलें जिसमें प्रीफ़िक्स के तौर पर आपके प्रोजेक्ट का नाम है. इसके बाद, इसके अंदर Build/Products फ़ोल्डर पर जाएं.

  3. फ़ोल्डर Debug-iphoneos और YOUR_SCHEME_iphoneosDEPLOYMENT_TARGET-arm64.xctestrun चुनें और फिर उन्हें कंप्रेस करें.

पांचवां चरण: (ज़रूरी नहीं) ऐप्लिकेशन की जांच स्थानीय तौर पर करना

टेस्ट लैब से अपना टेस्ट चलाने से पहले, इसे यूएसबी से कनेक्ट किए गए डिवाइस की मदद से स्थानीय तौर पर चलाया जा सकता है, ताकि इसके काम करने के तरीके की क्वालिटी की जांच की जा सके:

xcodebuild test-without-building \
    -xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \
    -destination id=your-phone-id

अगले चरण

Firebase कंसोल या gcloud सीएलआई में अपना टेस्ट अपलोड करें और चलाएं.