Avatar ·

خطأ "The @Rule must be public" في اختبارات Android باستخدام Kotlin

مرحباً بالجميع! أنا مبتدئ في تطوير Android باستخدام Kotlin وأحاول كتابة أول اختبارات UI باستخدام Espresso. بناءً على الأمثلة من الإنترنت، قمت بإنشاء فئة اختبار واستخدمت ActivityTestRule لتشغيل Activity. إليك الكود الخاص بي: ```kotlin @RunWith(AndroidJUnit4::class) class MainActivityTest { @Rule @JvmField val activityRule = ActivityTestRule(MainActivity::class.java) @Test fun testButtonClick() { onView(withId(R.id.button)).perform(click()) onView(withText("Hello")).check(matches(isDisplayed())) } } ``` ولكن عندما أقوم بتشغيل الاختبار، أحصل على خطأ: "The @Rule must be public". لقد جربت خيارات مختلفة: أزلت `@JvmField`، وجعلت Rule حقلاً عاماً، ولكن ما زال الخطأ يظهر. ما هي المشكلة المحتملة؟ أنا أستخدم أحدث إصدار من AndroidX Test. أرجو توضيح كيفية تعريف ActivityTestRule بشكل صحيح في Kotlin؟ شكراً مقدماً! <<>>

المشكلة: قواعد JUnit في Kotlin تتطلب نهجاً خاصاً

الخطأ "The