Articles of android testing

Метод getActivity () неограниченно блокируется при модульном тестировании

Я пытаюсь протестировать два разных класса Activity , где одна из операций вызывает вызов другого. Вот мой код, а затем я объясню проблему: IntroActivityTest public class IntroActivityTest extends ActivityInstrumentationTestCase2<IntroActivity> { IntroActivity activity; public IntroActivityTest() { super( IntroActivity.class ); } @Override protected void setUp() throws Exception { super.setUp(); activity = getActivity(); } public void testIntroBypass() { […]

Тесты AndroidJUnit4 и Parameterized

Google предоставляет новые классы для написания тестов для Android, и особенно с помощью jUnit 4: https://developer.android.com/tools/testing-support-library/index.html Мне было интересно, можно ли использовать бегун AndroidJUnit4, а также параметризованный, из jUnit?

Android Base64 кодирует и декодирует возврат null в модульном тесте

Я пытаюсь декодировать кодировку Base64 в Android, используя класс http://developer.android.com/reference/android/util/Base64.html . Оба метода encodeToString и decode возвращают значение null, и я не знаю, что не так, вот мой код для декодирования: // Should decode to "GRC" String friendlyNameBase64Encoded = "R1JD"; // This returns null byte[] friendlyNameByteArray = Base64.decode(friendlyNameBase64Encoded, Base64.DEFAULT); // Fails with NullPointerException String friendlyName […]

«Аниматоры могут запускаться только в потоках Looper» во время тестирования внутриутробного интрументации

Это мой тестовый код: @RunWith(AndroidJUnit4.class) @SmallTest public class WelcomeActivityTests extends BaseTest { ApplicationController applicationController; @Rule public ActivityTestRule<WelcomeActivity> activityTestRule = new ActivityTestRule<>(WelcomeActivity.class); ArgumentCaptor<Callback> argumentCaptor; @Before @Override public void setUp() { applicationController = (ApplicationController) InstrumentationRegistry.getTargetContext().getApplicationContext(); applicationController.setMockMode(true); argumentCaptor = ArgumentCaptor.forClass(Callback.class); super.setUp(); } @Test public void testLogin() throws InterruptedException { onView(withId(R.id.btnLogInW)).perform(click()); onView(withId(R.id.email)).perform(typeText("good.email@example.com")); onView(withId(R.id.passL)).perform(typeText("strong.password")); onView(withId(R.id.btnLogInL)).perform(click()); User user = new User(); […]

Тестирование выпуска и расширенная версия приложения для Android – NoSuchMethodError

Я пытаюсь проверить выпуск сборки Android-приложения с включенным Proguard. Я создал дополнительный файл правил Proguard для тестовых зависимостей, который включен в файл правил выпуска. -keep class android.test.** { *; } -dontwarn android.test.** # Reuse the release ProGuard mapping -applymapping proguard.map -dontshrink -dontoptimize Все компилируется отлично, но не выполняется во время выполнения. java.lang.NoSuchMethodError: android.test.AndroidTestRunner.addTestListener at com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner.start(ProGuard:135) […]

Выполнение полупараллельного теста Espresso не выполняется на статических объектах?

Я пытаюсь использовать espresso и junit4. Проблема заключается в том, что у меня есть код, который статически инициализируется в activity.onCreate и deinitialized в activity.onDestroy Теперь, когда я запускаю эспрессо, тесты, похоже, работают «параллельно». Я добавил класс журнала в действие onCreate и onDestroy. То, что я вижу, это onCreate = example.package.MainActivity@ABC onCreate = example.package.MainActivity@JKL onDestroy = […]

Тестирование модулей базы данных Android SQLite

Я новичок в разработке приложений для Android, и я просто сделал приложение для заметок. Я хочу сделать модульные тесты для методов insertNote, readNote и updateNote для базы данных. Как мне это сделать? Это код для моей базы данных. Благодарю. public class DatabaseManager extends SQLiteOpenHelper { public static final String Database_Name = "Notes Database"; public static […]

Проверка работы камеры с помощью Espresso

Мне нужно автоматизировать тестирование моего интерфейса для последующей работы с проектом эспрессо-теста. Операция: Нажмите кнопку, которая открывает мою телефонную камеру. Захват изображения и сохранение изображения в хранилище sdcard. Также обновите небольшое изображение на экране, когда закончите. Приложение работает нормально, но со всеми другими операциями и аналогичным типом выше операции он становится трудоемким процессом для проверки […]

Определить buildConfigField для androidTest

Я определяю конкретное поле в BuildConfig для получения URL во время выполнения. Таким образом, для каждого типа сборки я использую другую строку: prod { buildConfigField "String", "BASE_URL", "\"abc.com\"" } debug { buildConfigField "String", "BASE_URL", "\"efg.com\"" } Можно ли определить другой URL-адрес при запуске тестов на Android? Я попытался установить этот параметр в sourceSets->androidTest , но […]

Единичное тестирование сетевого ответа. Работает при отладке, а не при фактическом запуске

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