Articles of андроид тестирование

Как получить покрытие для Android-проекта с помощью тестов Espresso

Раньше я писал тесты Android с помощью Robotium и извлекал покрытие с помощью Emma. Недавно я перешел на использование тестов Espresso, и у меня возникли проблемы, чтобы получить освещение тестов Instrumentation. Я могу только получить покрытие для модульных тестов, которые используют Robolectric. В настоящее время я использую gradle и Jacoco для этого. Лучший учебник, который […]

Подкласс прикладного приложения

Возможно ли иметь подкласс приложения, который используется только для тестов при построении с помощью градиента? Раньше я делал что-то подобное в системе построения градиента, но теперь я не могу найти способ сделать это. Проблема заключается в том, что невозможно настроить AndroidManifest.xml используемый для тестирования APK.

Как проверить функциональность даты и времени в Android?

Мне было интересно, как нужно правильно тестировать функциональность, которая зависит от изменения даты или времени с Android. Допустим, у меня есть события, которые нужно обрабатывать в первый раз каждого месяца, и результат этой обработки зависит от текущей даты / времени. Мне не хватает возможности подделать определенную дату / время в платформе тестирования Android. Как мы […]

Тесты Espresso UI работают при выполнении одного теста, но сбой при выполнении набора тестов

Я использую IdlingResource для синхронизации нескольких связанных с сетью задач. Я регистрирую и деблокирую idlingresource в @Before и @After . Инструментарий – AndroidJUnitRunner . Основная последовательность шагов: Espresso нажимает кнопку, которая делает сетевой запрос Когда я получаю ответ, эспрессо нажимает другую кнопку, которая запускает новое действие. Сделайте больше сетевых запросов через новое действие. Однако на […]

Как заглушить выбор изображений, используя намерения Espresso?

Это первый раз, когда я использую эспрессо, я следил за IntentsBasicSamle, предоставленным в проекте тестирования Android, но не решил. В моем приложении у меня есть активность, когда пользователь выбирает несколько изображений, а затем возвращенные изображения отображаются в gridview. Теперь, используя намерения эспрессо, я хочу издеваться над этим, не обращаясь к фактическому сборщику изображений и возвращая […]

Как протестировать IntentService android?

Как я могу проверить IntentService в android без использования устаревшей ServiceTestCase ? Из документации ServiceTestCase : Этот класс устарел на уровне API 24. Вместо этого используйте ServiceTestRule. Новые тесты должны быть написаны с использованием библиотеки поддержки тестирования Android. Но в документации IntentService указано, что она не поддерживает IntentService s: Примечание. Это правило не поддерживает IntentService, […]

Тестирование okHttp-запросов с помощью Robolectric – обратные вызовы

У меня есть функция, которую я хочу проверить, которая работает в обратном вызове okHttp. Я пытаюсь проверить его с помощью Robolectrics, но обратный вызов никогда не выполняется. Я предполагаю, что это потому, что тест движется по запросу, не дожидаясь okHttp для возврата. До сих пор я пробовал: ShadowLooper.pauseMainLooper(); Robolectric.flushBackgroundScheduler(); ShadowLooper.unPauseMainLooper(); Но это не сработало. Какие-либо […]

Как протестировать IntentService с помощью ServiceTestCase?

Я пытаюсь протестировать свой IntentService с использованием класса IntentService предоставленного Android, но тесты не IntentService с ошибкой testServiceTestCaseSetUpProperly . Мой код: public class MyClientServiceTest extends ServiceTestCase<MyClientService> { public static final String TAG = MyClientServiceTest.class.getName(); public static final String FILE_PREFIX = "test_"; private boolean bLoggingIn = false; private boolean bLoggingOut = false; private boolean bSendingScanRequest = […]

Что делает свойство testOptions.animationsDisabled в плагине Android Gradle?

Недавно я обнаружил свойство testOptions.animationsDisabled в плагине Android Gradle. Я надеялся, что было бы полезно отключить анимацию на моих устройствах при выполнении тестов пользовательского интерфейса с помощью Espresso, но это не так, т.е. мне все равно придется отключать анимацию вручную или использовать один из нескольких доступных вариантов . В противном случае некоторые тесты пользовательского интерфейса […]

Как протестировать InputMethodService

У меня есть базовая реализация Android InputMethodService, к которой я пытаюсь написать модульные тесты. Мое приложение не имеет никаких Activites, просто реализация InputMethodService. Пока у меня есть базовая реализация ServiceTestCase, которая отлично работает: SoftKeyboardTest.java public class SoftKeyboardTest extends ServiceTestCase<SoftKeyboard> { @Override protected void setUp() throws Exception { super.setUp(); bindService(new Intent(this.getContext(), SoftKeyboard.class)); } public void testShowKeyboard() […]