Kotlinisierung des Espresso-Tests
Konvertiert Java-Datei in Kotlin-Datei konvertieren
Wenn ich den Test durchführe, erhalte ich die folgende Ausnahme
org.junit.internal.runners.rules.ValidationError: The @Rule 'mActivityRule' must be public.
Dies liegt daran, dass die in Kotlin deklarierten Eigenschaften von Java-Seite aus nur Getter und Setter enthalten und nicht als öffentliche Felder zugänglich sind.
Wenn Sie von Java aus auf die Felder der in Kotlin geschriebenen Klasse zugreifen möchten, fügen Sie die Annotation @JvmField wie folgt hinzu.
@Rule @JvmField
var mActivityRule = ActivityTestRule(HogeActivity::class.java)
Dies geschieht, weil ich die Sprachspezifikationen von Kotlin nicht kenne und daher die Grundlagen lernen muss. Ich hoffe es wird für Sie hilfreich sein.
https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html https://proandroiddev.com/fix-kotlin-and-new-activitytestrule-the-rule-must-be-public-f0c5c583a865
Recommended Posts