কম্পোজ সাধারণ পরীক্ষার কাঠামোর সাথে একীভূত হয়।
এসপ্রেসোর সাথে আন্তঃকার্যক্ষমতা
একটি হাইব্রিড অ্যাপে, আপনি ভিউ হায়ারার্কির ভিতরে কম্পোজ উপাদান এবং কম্পোজ কম্পোজেবলের ভিতরে ভিউ খুঁজে পেতে পারেন ( AndroidView কম্পোজেবলের মাধ্যমে)।
উভয় প্রকারের সাথে মেলানোর জন্য কোনও বিশেষ পদক্ষেপের প্রয়োজন নেই। আপনি Espresso এর onView এর সাথে ভিউ এবং ComposeTestRule এর সাথে Compose উপাদান মেলাতে পারেন।
@Test
fun androidViewInteropTest() {
// Check the initial state of a TextView that depends on a Compose state.
Espresso.onView(withText("Hello Views")).check(matches(isDisplayed()))
// Click on the Compose button that changes the state.
composeTestRule.onNodeWithText("Click here").performClick()
// Check the new value.
Espresso.onView(withText("Hello Compose")).check(matches(isDisplayed()))
}
UiAutomator এর সাথে আন্তঃকার্যক্ষমতা
ডিফল্টরূপে, UiAutomator থেকে কম্পোজেবলগুলি কেবল তাদের সুবিধাজনক বর্ণনাকারী (প্রদর্শিত পাঠ্য, বিষয়বস্তুর বিবরণ, ইত্যাদি) দ্বারা অ্যাক্সেসযোগ্য। আপনি যদি Modifier.testTag ব্যবহার করে এমন কোনও কম্পোজেবল অ্যাক্সেস করতে চান, তাহলে আপনাকে নির্দিষ্ট কম্পোজেবলের সাবট্রির জন্য testTagsAsResourceId সিমেন্টিক প্রোপার্টি সক্ষম করতে হবে। এই আচরণটি সক্ষম করা এমন কম্পোজেবলগুলির জন্য কার্যকর যাদের অন্য কোনও অনন্য হ্যান্ডেল নেই, যেমন স্ক্রোলযোগ্য কম্পোজেবল (উদাহরণস্বরূপ, LazyColumn )।
আপনার কম্পোজেবল হায়ারার্কিতে উচ্চতর হলেই সিমেন্টিক প্রোপার্টিটি সক্ষম করুন যাতে Modifier.testTag সহ সমস্ত নেস্টেড কম্পোজেবল UiAutomator থেকে অ্যাক্সেসযোগ্য হয়।
Scaffold(
// Enables for all composables in the hierarchy.
modifier = Modifier.semantics {
testTagsAsResourceId = true
}
){
// Modifier.testTag is accessible from UiAutomator for composables nested here.
LazyColumn(
modifier = Modifier.testTag("myLazyColumn")
){
// Content
}
}
Modifier.testTag(tag) সহ যেকোনো কম্পোজেবল By.res(resourceName) ব্যবহার করে resourceName এর মতো একই tag ব্যবহার করে অ্যাক্সেসযোগ্য হতে পারে।
val device = UiDevice.getInstance(getInstrumentation())
val lazyColumn: UiObject2 = device.findObject(By.res("myLazyColumn"))
// Some interaction with the lazyColumn.
অতিরিক্ত সম্পদ
- অ্যান্ড্রয়েডে অ্যাপ পরীক্ষা করুন : মূল অ্যান্ড্রয়েড টেস্টিং ল্যান্ডিং পৃষ্ঠাটি পরীক্ষার মৌলিক বিষয় এবং কৌশলগুলির একটি বিস্তৃত দৃষ্টিভঙ্গি প্রদান করে।
- পরীক্ষার মৌলিক বিষয় : একটি অ্যান্ড্রয়েড অ্যাপ পরীক্ষা করার পিছনে মূল ধারণাগুলি সম্পর্কে আরও জানুন।
- স্থানীয় পরীক্ষা : আপনি আপনার নিজস্ব ওয়ার্কস্টেশনে স্থানীয়ভাবে কিছু পরীক্ষা চালাতে পারেন।
- যন্ত্রচালিত পরীক্ষা : যন্ত্রচালিত পরীক্ষা চালানোও ভালো অভ্যাস। অর্থাৎ, এমন পরীক্ষা যা সরাসরি ডিভাইসে চলে।
- ক্রমাগত ইন্টিগ্রেশন : ক্রমাগত ইন্টিগ্রেশন আপনাকে আপনার পরীক্ষাগুলিকে আপনার স্থাপনার পাইপলাইনে একীভূত করতে দেয়।
- বিভিন্ন স্ক্রিন মাপ পরীক্ষা করুন : ব্যবহারকারীদের জন্য অনেক ডিভাইস উপলব্ধ থাকায়, আপনার বিভিন্ন স্ক্রিন মাপের জন্য পরীক্ষা করা উচিত।
- এসপ্রেসো : ভিউ-ভিত্তিক UI-এর জন্য তৈরি হলেও, এসপ্রেসো জ্ঞান কম্পোজ পরীক্ষার কিছু দিকের জন্য সহায়ক হতে পারে।