আপনার রচনা লেআউট পরীক্ষা করুন

আপনার রচনা কোডের আচরণ সঠিক কিনা তা যাচাই করতে আপনার অ্যাপের UI পরীক্ষা করুন। এটি আপনাকে তাড়াতাড়ি ত্রুটিগুলি ধরতে এবং আপনার অ্যাপের গুণমান উন্নত করতে দেয়৷

রচনা উপাদানগুলি সন্ধান করতে, তাদের বৈশিষ্ট্যগুলি যাচাই করতে এবং ব্যবহারকারীর ক্রিয়া সম্পাদন করতে পরীক্ষার API এর একটি সেট সরবরাহ করে। এপিআই-এ টাইম ম্যানিপুলেশনের মতো উন্নত বৈশিষ্ট্যও রয়েছে। আপনার অ্যাপের আচরণ যাচাই করে এমন শক্তিশালী পরীক্ষা তৈরি করতে এই APIগুলি ব্যবহার করুন।

ভিউ

আপনি যদি রচনার পরিবর্তে ভিউ নিয়ে কাজ করেন তবে অ্যান্ড্রয়েড বিভাগে সাধারণ পরীক্ষা অ্যাপগুলি দেখুন।

বিশেষ করে, শুরু করার জন্য একটি ভাল জায়গা হল স্বয়ংক্রিয় UI পরীক্ষার নির্দেশিকা। এটি বর্ণনা করে যে আপনি কীভাবে ভিউ ব্যবহার করার সময় সহ ডিভাইসে চালানো পরীক্ষাগুলিকে স্বয়ংক্রিয় করতে পারেন।

মূল ধারণা

আপনার রচনা কোড পরীক্ষা করার জন্য নিম্নলিখিত কিছু মূল ধারণা রয়েছে৷

  • শব্দার্থবিদ্যা : কম্পোজ পরীক্ষাগুলি শব্দার্থবিদ্যা ব্যবহার করে UI-এর সাথে ইন্টারঅ্যাক্ট করে, যা UI-এর টুকরোকে অর্থ দেয় এবং UI অনুক্রমের পাশাপাশি তৈরি হয়।
  • টেস্টিং এপিআই : কম্পোজ উপাদানগুলি খুঁজে বের করার জন্য, তাদের রাজ্য এবং বৈশিষ্ট্যগুলির উপর দাবী করার জন্য এবং ব্যবহারকারীর মিথস্ক্রিয়াকে অনুকরণ করার জন্য ক্রিয়া সম্পাদন করার জন্য পরীক্ষার API প্রদান করে।
  • সিঙ্ক্রোনাইজেশন : ডিফল্টরূপে, কম্পোজ পরীক্ষাগুলি স্বয়ংক্রিয়ভাবে UI এর সাথে সিঙ্ক্রোনাইজ হয়, দাবি করার আগে বা ক্রিয়া সম্পাদন করার আগে এটি নিষ্ক্রিয় হওয়ার জন্য অপেক্ষা করে।
  • আন্তঃঅপারেবিলিটি : হাইব্রিড অ্যাপে, পরীক্ষাগুলি রচনা এবং ভিউ-ভিত্তিক উভয় উপাদানের সাথে নির্বিঘ্নে ইন্টারঅ্যাক্ট করতে পারে এবং অন্যান্য পরীক্ষার কাঠামোর সাথে একীভূত হতে পারে।

টেস্টিং চিটশিট

কম্পোজে পরীক্ষা করার বিষয়ে আপনার যে সমস্ত মূল বিষয়গুলি শিখতে হবে তার একটি ওভারভিউয়ের জন্য টেস্টিং চিটশিটটি দেখুন।

সেটআপ

কম্পোজ কোড পরীক্ষা করার জন্য আপনার অ্যাপ সেট আপ করুন।

প্রথমে, আপনার 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")

এই মডিউলটিতে AndroidComposeTestRule নামে একটি ComposeTestRule এবং অ্যান্ড্রয়েডের জন্য একটি বাস্তবায়ন অন্তর্ভুক্ত রয়েছে। এই নিয়মের মাধ্যমে আপনি রচনা সামগ্রী সেট করতে পারেন বা কার্যকলাপ অ্যাক্সেস করতে পারেন। আপনি ফ্যাক্টরি ফাংশন ব্যবহার করে নিয়ম তৈরি করেন, হয় createComposeRule অথবা, আপনার যদি কোনো কার্যকলাপে অ্যাক্সেসের প্রয়োজন হয়, createAndroidComposeRule । রচনা করার জন্য একটি সাধারণ 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()
    }
}

অতিরিক্ত সম্পদ

কোডল্যাব

আরও জানতে, জেটপ্যাক কম্পোজ টেস্টিং কোডল্যাব ব্যবহার করে দেখুন।

নমুনা

{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %} ,

আপনার রচনা কোডের আচরণ সঠিক কিনা তা যাচাই করতে আপনার অ্যাপের UI পরীক্ষা করুন। এটি আপনাকে তাড়াতাড়ি ত্রুটিগুলি ধরতে এবং আপনার অ্যাপের গুণমান উন্নত করতে দেয়৷

রচনা উপাদানগুলি সন্ধান করতে, তাদের বৈশিষ্ট্যগুলি যাচাই করতে এবং ব্যবহারকারীর ক্রিয়া সম্পাদন করতে পরীক্ষার API এর একটি সেট সরবরাহ করে। এপিআই-এ টাইম ম্যানিপুলেশনের মতো উন্নত বৈশিষ্ট্যও রয়েছে। আপনার অ্যাপের আচরণ যাচাই করে এমন শক্তিশালী পরীক্ষা তৈরি করতে এই APIগুলি ব্যবহার করুন।

ভিউ

আপনি যদি রচনার পরিবর্তে ভিউ নিয়ে কাজ করেন তবে অ্যান্ড্রয়েড বিভাগে সাধারণ পরীক্ষা অ্যাপগুলি দেখুন।

বিশেষ করে, শুরু করার জন্য একটি ভাল জায়গা হল স্বয়ংক্রিয় UI পরীক্ষার নির্দেশিকা। এটি বর্ণনা করে যে আপনি কীভাবে ভিউ ব্যবহার করার সময় সহ ডিভাইসে চালানো পরীক্ষাগুলিকে স্বয়ংক্রিয় করতে পারেন।

মূল ধারণা

আপনার রচনা কোড পরীক্ষা করার জন্য নিম্নলিখিত কিছু মূল ধারণা রয়েছে৷

  • শব্দার্থবিদ্যা : কম্পোজ পরীক্ষাগুলি শব্দার্থবিদ্যা ব্যবহার করে UI-এর সাথে ইন্টারঅ্যাক্ট করে, যা UI-এর টুকরোকে অর্থ দেয় এবং UI অনুক্রমের পাশাপাশি তৈরি হয়।
  • টেস্টিং এপিআই : কম্পোজ উপাদানগুলি খুঁজে বের করার জন্য, তাদের রাজ্য এবং বৈশিষ্ট্যগুলির উপর দাবী করার জন্য এবং ব্যবহারকারীর মিথস্ক্রিয়াকে অনুকরণ করার জন্য ক্রিয়া সম্পাদন করার জন্য পরীক্ষার API প্রদান করে।
  • সিঙ্ক্রোনাইজেশন : ডিফল্টরূপে, কম্পোজ পরীক্ষাগুলি স্বয়ংক্রিয়ভাবে UI এর সাথে সিঙ্ক্রোনাইজ হয়, দাবি করার আগে বা ক্রিয়া সম্পাদন করার আগে এটি নিষ্ক্রিয় হওয়ার জন্য অপেক্ষা করে।
  • আন্তঃঅপারেবিলিটি : হাইব্রিড অ্যাপে, পরীক্ষাগুলি রচনা এবং ভিউ-ভিত্তিক উভয় উপাদানের সাথে নির্বিঘ্নে ইন্টারঅ্যাক্ট করতে পারে এবং অন্যান্য পরীক্ষার কাঠামোর সাথে একীভূত হতে পারে।

টেস্টিং চিটশিট

কম্পোজে পরীক্ষা করার বিষয়ে আপনার যে সমস্ত মূল বিষয়গুলি শিখতে হবে তার একটি ওভারভিউয়ের জন্য টেস্টিং চিটশিটটি দেখুন।

সেটআপ

কম্পোজ কোড পরীক্ষা করার জন্য আপনার অ্যাপ সেট আপ করুন।

প্রথমে, আপনার 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")

এই মডিউলটিতে AndroidComposeTestRule নামে একটি ComposeTestRule এবং অ্যান্ড্রয়েডের জন্য একটি বাস্তবায়ন অন্তর্ভুক্ত রয়েছে। এই নিয়মের মাধ্যমে আপনি রচনা সামগ্রী সেট করতে পারেন বা কার্যকলাপ অ্যাক্সেস করতে পারেন। আপনি ফ্যাক্টরি ফাংশন ব্যবহার করে নিয়ম তৈরি করেন, হয় createComposeRule অথবা, আপনার যদি কোনো কার্যকলাপে অ্যাক্সেসের প্রয়োজন হয়, createAndroidComposeRule । রচনা করার জন্য একটি সাধারণ 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()
    }
}

অতিরিক্ত সম্পদ

কোডল্যাব

আরও জানতে, জেটপ্যাক কম্পোজ টেস্টিং কোডল্যাব ব্যবহার করে দেখুন।

নমুনা

{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}