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। विस्तृत स्पष्टीकरण के लिए आभारी रहूँगा।
<<>>