Articles of модуль

Как определить с помощью Robolectric, что onBackPressed называется программным?

Я использую Robolectric для проведения модульных тестов. В моем приложении у меня есть метод, который программным образом вызывает onBackPressed. Однако я не знаю, как проверить, правильно ли выполняется этот метод с RoboLectric. Я уже тестировал его на устройстве, и метод работает нормально. Но теперь: как я могу подтвердить это с помощью Robolectric?

Robolectric – screen_action_bar.xml строка # -1 (извините, еще не реализовано): Ошибка раздувания класса <unknown>

Я использую Robolectric, и при создании Activity я получаю следующую ошибку. Я использую 2.3-Snapshot – androidTestCompile('org.robolectric:robolectric:2.3-SNAPSHOT') android.view.InflateException: XML file jar:/Users/user/.m2/repository/org/robolectric/android-all/4.3_r2-robolectric-0/android-all-4.3_r2-robolectric-0.jar!/res/layout/screen_action_bar.xml line #-1 (sorry, not yet implemented): Error inflating class <unknown> at android.view.LayoutInflater.createView(LayoutInflater.java:620) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696) at android.view.LayoutInflater.rInflate(LayoutInflater.java:755) at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) at android.view.LayoutInflater.rInflate(LayoutInflater.java:758) at android.view.LayoutInflater.inflate(LayoutInflater.java:492) at android.view.LayoutInflater.inflate(LayoutInflater.java:397) at android.view.LayoutInflater.inflate(LayoutInflater.java:353) at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2823) at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2886) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:263) at android.app.Activity.setContentView(Activity.java:1895) at […]

Robolectric: запустить петлитель обработчика в моем случае

У меня очень простой класс, который имеет Handler , когда он обрабатывает сообщение, он снова отправляет новое сообщение: public class MyRepeatTask{ … public void startTask() { // send message with delay 5 sec handler.sendMessageDelayed(handler.obtainMessage(…), 5000); } Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // I put a log for unit […]

Тест-драйв Robolectric + OkHttp + retrofit + rxJava

Я пытаюсь написать единичный тест для куска кода с robolectric. Проблема в том, что мне нужно подделать http-вызов, но кажется, что поддельный слой robolectric работает только с HttpClient Apache в соответствии с этим ответом: Ссылка на ответ В «Дооснащении» вы не можете изменить URL-адрес, поэтому MockWebServer, по-видимому, не является вариантом. Кажется, что mockito может перехватывать […]

Как проверить, что намерение транслировалось

Я трансляции намерения, когда нажата кнопка «запись». Передается логическая переменная, которая показывает, запущена ли запись или нет. Код для создания намерения: Intent recordIntent = new Intent(ACTION_RECORDING_STATUS_CHANGED); recordIntent.putExtra(RECORDING_STARTED, getIsRecordingStarted()); sendBroadcast(recordIntent); Чтобы проверить этот код, я зарегистрировал приемник в тесте. Цель получена, но передаваемая переменная не совпадает. Если я отлаживаю код, я вижу, что значение такое же, […]

Как включить robolectric logging

Мне нужен очень простой способ заставить Robolectric 3.0 включить ведение журнала. Я хочу видеть выход из robolectric, а не только мои тесты. Все, что я пробовал в Интернете, не работает. Где я это придерживаюсь? robolectric.logging.enabled = true Я попробовал следующее: В файле robolectric.properties в test / java / res В файле robolectric.properties в test / […]

Robolectric RoboAttributeSet – как это использовать

У меня есть пользовательский вид андроида со стильными атрибутами, которые я бы хотел проверить. Я пытаюсь использовать RoboAttributeSet, чтобы вставить их в конструктор моего представления, но для меня жизнь не может решить правильный синтаксис, который я должен использовать, чтобы заставить их работать. Независимо от того, что я пытаюсь, атрибуты, которые я нажимаю, не воспринимаются при […]

Импорт правильного метода AssertThat для Robolectric Test

Я пытаюсь запустить тест с сайта Robolectric.org « Написание первого теста» . Испытание, о котором идет речь, выглядит следующим образом: @Test public void clickingLogin_shouldStartLoginActivity() { WelcomeActivity activity = Robolectric.setupActivity(WelcomeActivity.class); activity.findViewById(R.id.login).performClick(); Intent expectedIntent = new Intent(activity, WelcomeActivity.class); assertThat(shadowOf(activity).getNextStartedActivity()).isEqualTo(expectedIntent); } Я получаю эту ошибку компиляции: Cannot resolve method 'assertThat(android.content.Intent) . Две возможности, которые я вижу для импорта […]

DexIndexOverflowException только при выполнении тестов

Я могу успешно создать и запустить приложение для Android в своих вариантах отладки и выпуска без проблем. Тем не менее, когда я пытаюсь запустить свои новые модульные тесты (у меня их раньше не было), я получаю страшное исключение DexIndexOverflowException . Я подозреваю, что ProGuard не запускается с моими модульными тестами, но это с моими обычными […]

Assert ImageView был загружен конкретным идентификатором ресурса ресурса

Я пишу тест модуля Robolectric, и мне нужно сделать утверждение, что ImageView имеет setImageResource (int), вызванный с ним с определенным идентификатором ресурса. Я использую fest-android для утверждений, но, похоже, не содержит этого утверждения. Я также попытался получить ShadowImageView от Robolectric для ImageView, потому что я знаю, что он использовал, чтобы дать вам доступ к этому, […]

Intereting Posts
Почему «Избегайте перечислений, где вам нужны только инты», удалены из подсказок производительности Android? Android Widget для Android: настройка Android: отслеживание приводит к тому, что большой палец и дорожка не отображаются Графический макет FragmentTabHost не отображает Как оценить потенциальный доход от использования AdMob в приложении? Устанавливайте приложения без помощи разрешения INSTALL_PACKAGES Офлайн-веб-приложение HTML5 на Android Android Eclipse Plugin «reset adb» дает ошибку «Ошибка Adb connection: EOF», а не блокировку, но что это такое? Почему в моем Android GridView есть дополнительные пиксели? Изменить цвет текста ListView Как правильно установить тип аудиопотока MediaPlayer GetDimension () / getDimensionPixelSize () – проблема mutliplier Запуск приложения через adb без знания Название действия Как установить многострочные, первые флажки и отключить предложения на edittext Android: Canvas.DrawBitmap VS Drawable.Draw – Огромное повышение производительности Как обрабатывать клики с элементами для просмотра ресайклеров с помощью RxJava