@ Прежде чем аннотация игнорируется котлином в эспрессо-тесте?

У меня есть этот инструментальный класс тестов, написанный в kotlin, и использует эспрессо для выполнения тестов. Однако, когда я запускаю его, функция, аннотированная с помощью @Before, полностью игнорируется. Даже при отладке теста и размещении в нем точки останова он не прошел бы через этот момент. Вы не знаете, почему это происходит? Я искал в google, но большинство примеров не используют @Before или просто не упоминают никаких проблем с ним. Я также добавил функцию logOut () для получения дополнительной информации.

PD: запись одного и того же кода в java работает отлично.

@RunWith(AndroidJUnit4::class) class LoginTest { @get: Rule val activityTestRule = ActivityTestRule(SplashActivity_::class.java) private lateinit var user: User @Before fun setUp() { logOut() } @Test fun newUserWasLoggedIn() { givenAnUser(UserFactory.randomUser) itCanBeLoggedAsNewUser() } @Test fun oldUserWasLoggedIn() { givenAnUser(UserFactory.oldUser) itCanBeLoggedAsOldUser() } private fun itCanBeLoggedAsOldUser() { oldUserLogin(user) } private fun itCanBeLoggedAsNewUser() { newUserLogin(user) } private fun givenAnUser(user: User) { this.user = user } } 

,

 fun logOut() { goToSettingsView() settingsView { swipe(SwipeDirection.UP) logOutButton.click() if (isPasswordRequired()) { createNewPasswordInDialog() logOutButton.click() } buttonAccept.click() } } 

    Проблема была связана с запутанием кода. В этом случае, поскольку мы хотели, чтобы вариант автоматизации был как можно ближе к выпуску, обфускация была добавлена ​​в вариант сборки, используемый для автоматических тестов. Решение заключалось в добавлении файла proguard-test-rules.pro для тестов со следующими строками:

     -ignorewarnings -keepattributes *Annotation* -dontnote junit.framework.** -dontnote junit.runner.** -dontwarn android.test.** -dontwarn android.support.test.** -dontwarn org.junit.** -dontwarn org.hamcrest.** -dontwarn com.squareup.javawriter.JavaWriter -keep class path.to.tests.* 

    и добавить к варианту сборки в build.gradle:

     testProguardFile 'proguard-test-rules.pro' 
    Intereting Posts
    Попытка понять пример Котлина Возможно ли скомпилировать Kotlin Native без проверок времени выполнения? Как исправить ошибку вывода типа в Completed, преобразованную с помощью RxLifecycle.bindToLifecycle ()? Константы в Котлине – какой рекомендуемый способ их создать? Kotlin Pass в типе, который реализует параметризованный интерфейс android – Модифицировать вызов void с помощью Kotlin котлин с пружинной нагрузкой на затмение Как связать и отобразить статус выполнения, используя привязку данных в android Android OutOfMemoryError: не удалось выделить выделение байтов 57993496 с 16764448 бесплатными байтами Множественное разрешение сразу не работает в android FirebaseListAdapter игнорирует orderByChild () и equalTo () Не удалось получить групповое сообщение, используя smack Как получить страну пользователя для HTTP-запроса в бэкэнд? libGDX не может выполнить действие Не удалось отобразить ошибку EditText в коде Kotlin