Avatar ·

Kotlin में @Rule त्रुटि: Android परीक्षणों में "The @Rule must be public" को कैसे ठीक करें

सभी को नमस्ते! मैंने अभी-अभी Espresso और Kotlin का उपयोग करके Android पर परीक्षण करना शुरू किया है। मेरे पास एक Activity के लिए एक सरल परीक्षण वर्ग है, और मैं `ActivityTestRule` का उपयोग करने का प्रयास कर रहा हूँ। कोड इस प्रकार दिखता है: ```kotlin @RunWith(AndroidJUnit4::class) class MainActivityTest { @Rule val activityRule = ActivityTestRule(MainActivity::class.java) @Test fun testButtonClick() { onView(withId(R.id.my_button)).perform(click()) } } ``` लेकिन जब मैं परीक्षण चलाता हूँ, तो मुझे यह त्रुटि मिलती है: ``` java.lang.Exception: The @Rule must be public ``` मैंने Google पर खोजा, लिखा है कि Java में फ़ील्ड को `public` बनाना होता है, लेकिन Kotlin में मैंने `val` घोषित किया — क्या यह सार्वजनिक फ़ील्ड नहीं है? मैंने `@JvmField` जोड़ने का प्रयास किया, लेकिन फिर भी काम नहीं करता। कृपया बताएं कि Kotlin में `ActivityTestRule` को सही तरीके से कैसे घोषित करें ताकि परीक्षण चल सके? मैं लाइब्रेरी के नवीनतम संस्करणों का उपयोग कर रहा हूँ: espresso-core 3.5.1, test runner 1.5.0। विस्तृत स्पष्टीकरण के लिए आभारी रहूँगा। <<>>

क्यों होती है यह समस्या