Android স্কিল
GitHub-এ দেখুনAndroid টেস্টিং সেট-আপ
android skills add testing-setupআপনার কম্পোজ কোডের আচরণ সঠিক কিনা তা যাচাই করতে আপনার অ্যাপের UI পরীক্ষা করুন। এর ফলে আপনি আগেই ভুল ধরতে পারবেন এবং আপনার অ্যাপের কোয়ালিটি উন্নত করতে পারবেন।
Compose, এলিমেন্ট খুঁজে পেতে, তাদের অ্যাট্রিবিউট যাচাই করতে এবং ব্যবহারকারীর অ্যাকশন পারফর্ম করতে, টেস্টিং API-এর একটি সেট প্রদান করে। এছাড়াও, API-তে উন্নত ফিচার অন্তর্ভুক্ত থাকে যেমন, সময় ম্যানিপুলেশন। আপনার অ্যাপের আচরণ যাচাই করে এমন শক্তিশালী টেস্ট তৈরি করতে এইসব API ব্যবহার করুন।
ভিউ
আপনি Compose-এর পরিবর্তে ভিউ নিয়ে কাজ করলে, সাধারণ Android-এ অ্যাপ টেস্ট করুন বিভাগ দেখুন।
বিশেষ করে, UI টেস্ট অটোমেট করুন গাইড থেকে শুরু করা ভাল। এটি আপনাকে দেখায় যে কীভাবে আপনি অন-ডিভাইস টেস্ট অটোমেট করতে পারেন, যার মধ্যে ভিউ ব্যবহার করার সময়ও অন্তর্ভুক্ত।
মূল ধারণা
আপনার Compose কোড পরীক্ষা করার জন্য নিম্নলিখিত কিছু মূল ধারণা দেওয়া হল:
- সিম্যান্টিক্স: সিম্যান্টিক্স আপনার UI-কে অর্থ প্রদান করে, যার ফলে টেস্ট নির্দিষ্ট এলিমেন্টের সাথে ইন্টার্যাক্ট করতে পারে।
- Testing API: Testing API-এর সাহায্যে আপনি এলিমেন্ট খুঁজে পেতে, সেগুলির অ্যাট্রিবিউট যাচাই করতে এবং ব্যবহারকারীর অ্যাকশন পারফর্ম করতে পারবেন।
- সিঙ্ক্রোনাইজেশন: সিঙ্ক্রোনাইজেশন যাচাই করে যে অ্যাকশন পারফর্ম করা বা অ্যাসার্শন করার আগে টেস্ট UI-এর নিষ্ক্রিয় হওয়ার জন্য অপেক্ষা করে।
- ইন্টারঅপারেবিলিটি: ইন্টারঅপারেবিলিটি একই অ্যাপে Compose এবং ভিউ-ভিত্তিক এলিমেন্ট, উভয়ের সাথেই টেস্টকে কাজ করতে দেয়।
টেস্টিং চিটশিট
Compose-এ টেস্টিং সম্পর্কে আপনার জানা উচিত এমন সব মূল বিষয়ের ওভারভিউয়ের জন্য টেস্টিং চিটশিট দেখুন।
সেট-আপ করুন
কম্পোজ কোড টেস্ট করার জন্য আপনার অ্যাপ সেট-আপ করুন।
প্রথমে, আপনার UI টেস্ট সহ মডিউলের build.gradle ফাইলে নিম্নলিখিত ডিপেন্ডেন্সি
যোগ করুন:
// Test rules and transitive dependencies:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
// Needed for createComposeRule(), but not for createAndroidComposeRule<YourActivity>():
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")
এই মডিউলে একটি ComposeTestRule এবং Android-এর জন্য একটি ইমপ্লিমেন্টেশন অন্তর্ভুক্ত আছে
যাকে AndroidComposeTestRule বলা হয়। এই নিয়মের মাধ্যমে আপনি Compose কন্টেন্ট সেট করতে
বা অ্যাক্টিভিটি অ্যাক্সেস করতে পারবেন। আপনি ফ্যাক্টরি ফাংশন ব্যবহার করে নিয়ম তৈরি করেন,
হয় createComposeRule অথবা, আপনার কোনও অ্যাক্টিভিটিতে অ্যাক্সেস প্রয়োজন হলে,
createAndroidComposeRule. Compose-এর জন্য সাধারণ UI টেস্ট এইরকম দেখতে হয়:
// file: app/src/androidTest/java/com/package/MyComposeTest.kt
class MyComposeTest {
@get:Rule val composeTestRule = createComposeRule()
// use createAndroidComposeRule<YourActivity>() if you need access to
// an activity
@Test
fun myTest() {
// Start the app
composeTestRule.setContent {
MyAppTheme {
MainScreen(uiState = fakeUiState, /*...*/)
}
}
composeTestRule.onNodeWithText("Continue").performClick()
composeTestRule.onNodeWithText("Welcome").assertIsDisplayed()
}
}
অতিরিক্ত রিসোর্স
- Android-এ অ্যাপ টেস্ট করা: Android-এ টেস্ট করার মূল ল্যান্ডিং পৃষ্ঠা থেকে টেস্টিংয়ের মূল বিষয় ও টেকনিক সম্পর্কে আরও বিস্তারিত তথ্য পাওয়া যায়।
- পরীক্ষা করার মূল বিষয়: Android অ্যাপ পরীক্ষা করার পিছনে থাকা মূল ধারণা সম্পর্কে আরও জানুন।
- লোকাল টেস্ট: আপনি নিজের ওয়ার্কস্টেশনে লোকালি কিছু টেস্ট চালাতে পারবেন।
- ইনস্ট্রুমেন্টেড টেস্ট: ইনস্ট্রুমেন্টেড টেস্ট রান করানোও একটি ভালো অভ্যাস। অর্থাৎ, সরাসরি ডিভাইসে রান করা টেস্ট।
- কন্টিনিউয়াস ইন্টিগ্রেশন: কন্টিনিউয়াস ইন্টিগ্রেশন আপনাকে ডিপ্লয়মেন্ট পাইপলাইনে টেস্ট ইন্টিগ্রেট করতে দেয়।
- বিভিন্ন স্ক্রিন সাইজ টেস্ট করুন: ব্যবহারকারীদের কাছে অনেক ডিভাইস উপলভ্য, তাই আপনাকে বিভিন্ন স্ক্রিন সাইজের জন্য টেস্ট করতে হবে।
- Espresso: View-ভিত্তিক UI-এর জন্য তৈরি করা হলেও, Espresso-এর জ্ঞান Compose টেস্টিংয়ের কিছু ক্ষেত্রে সহায়ক হতে পারে।
কোডল্যাব
আরও জানতে, Jetpack Compose Testing কোডল্যাব ব্যবহার করে দেখুন।
নমুনা
আপনার জন্য সাজেস্ট করা হয়েছে
- মনে রাখবেন: জাভাস্ক্রিপ্ট বন্ধ থাকলে লিঙ্ক টেক্সট দেখানো হয়
- Compose-এ সিম্যান্টিক্স
- Compose-এ উইন্ডো ইনসেট
- অন্যান্য বিষয়