এই নির্দেশিকায় বর্ণনা করা হয়েছে কীভাবে Firebase Test Lab এ পরীক্ষার জন্য একটি XCTest প্রস্তুত করতে হয়।
ধাপ ১ : আপনার প্রোজেক্টের ডিরাইভড ডেটার অবস্থান কনফিগার করুন।
Xcode কম্পাইল করা iOS আর্টিফ্যাক্টগুলো, যার মধ্যে আপনার বিল্ড করা যেকোনো টেস্টও অন্তর্ভুক্ত, একটি Derived Data ডিরেক্টরিতে রাখে। আপনি চাইলে সেই ডিরেক্টরির ডিফল্ট অবস্থানটি রাখতে পারেন, কিন্তু ফাইলগুলোর জন্য আরও সহজে অ্যাক্সেসযোগ্য একটি জায়গা বেছে নেওয়া প্রায়শই সহায়ক হয়, বিশেষ করে যদি আপনি Test Lab দিয়ে প্রায়ই টেস্টগুলো চালান।
- আপনার প্রজেক্টটি Xcode-এ খুলুন।
- macOS মেনু বারে, ফাইল > প্রজেক্ট সেটিংস... নির্বাচন করুন।
- ডিরাইভড ডেটা ড্রপ-ডাউনটি ডিফল্ট লোকেশন থেকে কাস্টম লোকেশনে পরিবর্তন করুন।
- ড্রপ-ডাউনের নিচের ফিল্ডে, আপনার টেস্টগুলো আউটপুট করার জন্য Xcode-এর একটি লোকেশন বেছে নিন। (এটিই হলো আপনার FOLDER_WITH_TEST_OUTPUT )
ধাপ ২ : একটি জেনেরিক টেস্ট ফাইল তৈরি করুন
Test Lab XCTest ফ্রেমওয়ার্ক ব্যবহার করে ইউনিট টেস্ট এবং UI টেস্ট চালায়। Test Lab ডিভাইসগুলিতে আপনার অ্যাপের XCTest চালানোর জন্য, একটি জেনেরিক iOS ডিভাইসে এটি পরীক্ষার জন্য বিল্ড করুন:
- আপনার Xcode ওয়ার্কস্পেস উইন্ডোর উপরের ডিভাইস ড্রপ-ডাউন থেকে Generic iOS Device নির্বাচন করুন।
- macOS মেনু বারে, Product > Build For > Testing নির্বাচন করুন।
বিকল্প হিসেবে, আপনি কমান্ড লাইন থেকে আপনার 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 Code Signing দেখুন।
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
আপনি টেস্ট ফাইলগুলো ম্যানুয়ালি কম্প্রেস করেও আপনার টেস্ট প্যাকেজ করতে পারেন:
ফাইন্ডার খুলুন এবং
FOLDER_WITH_TEST_OUTPUTফোল্ডারে যান।যে ফোল্ডারটির শুরুতে আপনার প্রজেক্টের নামটি রয়েছে, সেটি খুলুন, তারপর এর ভেতরের
Build/Productsফোল্ডারে যান।Debug-iphoneosএবংYOUR_SCHEME _iphoneos DEPLOYMENT_TARGET -arm64.xctestrunফোল্ডারগুলো নির্বাচন করুন এবং তারপর সেগুলোকে কম্প্রেস করুন।
ধাপ ৫ : (ঐচ্ছিক) আপনার টেস্টটি স্থানীয়ভাবে চালান
Test Lab -এ আপনার পরীক্ষাটি চালানোর আগে, এর আচরণের মান যাচাই করার জন্য আপনি একটি USB-সংযুক্ত ডিভাইসের মাধ্যমে এটি স্থানীয়ভাবে চালাতে পারেন:
xcodebuild test-without-building \
-xctestrun "Derived Data/Build/Products/YOUR_SCHEME.xctestrun" \
-destination id=your-phone-idপরবর্তী পদক্ষেপ
আপনার টেস্টটি Firebase কনসোল অথবা gcloud CLI- তে আপলোড করে চালান।