Запустите инструментальный тест внутри androidTest модуля. ⇐ Android
-
Anonymous
Запустите инструментальный тест внутри androidTest модуля.
Можно ли запустить инструментальный тест в модуле Android, который не активен, но использует зависимости AppCompat? Я пытаюсь запустить простой тест, но он работает только в том случае, если его переместить в модуль приложения.
Используемый класс для тестирования
/** * Типичная проверка электронной почты * */ весело validateEmail (электронная почта: String?): ValidationResult { val emailВвод: Строка? = электронная почта?.trim() вернуться, когда { (emailInput.isNullOrBlank()) -> { Результат Валидации( isSuccessful = ложь, errorMessageResource = R.string.field_required ) } (Patterns.EMAIL_ADDRESS.matcher(emailInput).matches().not()) -> { Результат Валидации( isSuccessful = ложь, errorMessageResource = R.string.invalid_email ) } еще -> { Результат Валидации( isSuccessful = правда ) } } } Тестовый скрипт
@RunWith(AndroidJUnit4::class) класс ValidationUtilsTest { @Тест весело validEmails_returnsFalse() { valvalidEmailList = listOf( "простой адрес", "#@%^%#$@#$@#.com", "@example.com", «Джо Смит », "электронная почта.example.com", "электронная почта@example@example.com", ".email@example.com", "электронная почта.@example.com", "электронная почта..email@example.com", "あいうえお@example.com", "email@example.com (Джо Смит)", "электронная почта@пример", "электронная почта@-example.com", "электронная почта@example.web", "электронная почта@111.222.333.44444", "электронная почта@example..com", "Abc..123@example.com" ) val listResult = mutableListOf() for (invalidEmail в validEmailList) { результат val = ValidationUtils.validateEmail(invalidEmail) listResult.add(result.isSuccessful) } AssertThat(listResult.any { true }).isFalse() } } Получение этой ошибки:
java.lang.RuntimeException: невозможно создать экземпляр инструментария ComponentInfo
Вызвано: java.lang.ClassNotFoundException: не найден класс «androidx.test.runner.AndroidJUnitRunner» по пути: DexPathList
Структура
— приложение - библиотеки - AndroidTest - тест
Можно ли запустить инструментальный тест в модуле Android, который не активен, но использует зависимости AppCompat? Я пытаюсь запустить простой тест, но он работает только в том случае, если его переместить в модуль приложения.
Используемый класс для тестирования
/** * Типичная проверка электронной почты * */ весело validateEmail (электронная почта: String?): ValidationResult { val emailВвод: Строка? = электронная почта?.trim() вернуться, когда { (emailInput.isNullOrBlank()) -> { Результат Валидации( isSuccessful = ложь, errorMessageResource = R.string.field_required ) } (Patterns.EMAIL_ADDRESS.matcher(emailInput).matches().not()) -> { Результат Валидации( isSuccessful = ложь, errorMessageResource = R.string.invalid_email ) } еще -> { Результат Валидации( isSuccessful = правда ) } } } Тестовый скрипт
@RunWith(AndroidJUnit4::class) класс ValidationUtilsTest { @Тест весело validEmails_returnsFalse() { valvalidEmailList = listOf( "простой адрес", "#@%^%#$@#$@#.com", "@example.com", «Джо Смит », "электронная почта.example.com", "электронная почта@example@example.com", ".email@example.com", "электронная почта.@example.com", "электронная почта..email@example.com", "あいうえお@example.com", "email@example.com (Джо Смит)", "электронная почта@пример", "электронная почта@-example.com", "электронная почта@example.web", "электронная почта@111.222.333.44444", "электронная почта@example..com", "Abc..123@example.com" ) val listResult = mutableListOf() for (invalidEmail в validEmailList) { результат val = ValidationUtils.validateEmail(invalidEmail) listResult.add(result.isSuccessful) } AssertThat(listResult.any { true }).isFalse() } } Получение этой ошибки:
java.lang.RuntimeException: невозможно создать экземпляр инструментария ComponentInfo
Вызвано: java.lang.ClassNotFoundException: не найден класс «androidx.test.runner.AndroidJUnitRunner» по пути: DexPathList
Структура
— приложение - библиотеки - AndroidTest - тест
Мобильная версия