Articles of Андроидный робок

Как проверить видимость параметра меню меню в Robolectric?

Я хотел бы подтвердить видимость пунктов меню. Однако мои пункты меню всегда возвращают true. Я использую следующий код для раздувания моего меню. SherlockMenuInflater inflater = new SherlockMenuInflater(activity); MenuBuilder menu = new MenuBuilder(activity); fragment.onCreateOptionsMenu(menu, inflater); System.out.println(menu.findItem(R.id.submit).isVisible() + " " + menu.findItem(R.id.next).isVisible() + " " + menu.findItem(R.id.done).isVisible()); assertEquals(3, menu.size()); assertFalse(menu.findItem(R.id.submit).isVisible()); assertTrue(menu.findItem(R.id.next).isVisible()); assertFalse(menu.findItem(R.id.done).isVisible()); Я делаю что-то неправильно?

Запустите RoboElectric несколько раз с другой версией sdk

Я создал класс тестов RoboElectric, который я бы хотел запустить несколько раз, Каждый раз, изменяя параметр sdk @Config (sdk = Build.VERSION_CODES. {Code}), Любые идеи о том, как это сделать, не создавая новых тестовых классов?

Как найти ресурсы библиотеки поддержки с помощью robolectric?

Я пытаюсь использовать robolectric, чтобы издеваться над моими приложениями для Android. К сожалению, после включения внешней библиотеки в мой проект тесты разбились. Информация об ошибке – о некотором ресурсе библиотеки, который не найден. java.lang.RuntimeException: Could not find any resource from reference ResName{com.company.app:style/Theme_AppCompat_Light_NoActionBar} from style StyleData{name='AppTheme_Base', parent='Theme_AppCompat_Light_NoActionBar'} with theme null У кого-то есть эта проблема?

Предупреждение Android «ro.build.date.utc»

Я пытаюсь использовать Robolectric для тестирования моего приложения Android, и я всегда получаю следующее предупреждение: WARNING: no system properties value for ro.build.date.utc Есть идеи, как это исправить?

Java.lang.IllegalStateException: должно существовать некоторое перекрытие для resourceIdToResName

Я пытаюсь настроить robolectric для моего приложения для Android. Мой основной код имеет подмодуль и внешнюю библиотеку, и я не использую Maven. После выполнения шагов по настройке проекта robolectric, когда я пытаюсь запустить тест, он дает следующую ошибку java.lang.IllegalStateException: there must have been some overlap for resourceIdToResName! expected 3014 but got 3013 at org.robolectric.res.MergedResourceIndex.merge(MergedResourceIndex.java:20) at […]

RoboAttributeSet Robolectric никогда не читается

Похоже, что RobotoAttributeSet созданный и переданный пользовательскому представлению, никогда не читается и не создается неправильно. Вот мой тест: ArrayList<Attribute> attributes = new ArrayList<>(); attributes.add( new Attribute("com.package.name:attr/CustomButton_inputType", String.valueOf(2), "com.package.name")); // no matter what value I use (2) AttributeSet attrs = new RoboAttributeSet(attributes, Robolectric.application.getResources(), CustomButton.class); CustomButton button = new CustomButton(Robolectric.application, attrs); Вот мой attr.xml : <?xml version="1.0" […]

Получить строки на всех языках в Robolectric

Я хочу сделать тест Robolectric, чтобы убедиться, что все строки на французском языке содержат одинаковое количество заполнителей (я говорю о% 1 $ s), как строки на английском языке. Я попытался добавить @Config (qualifiers = "fr-land"), но он дает все строки на английском языке (по умолчанию) и дает только по-французски строки, которые не определены на английском […]

Тест asyncTask не выполняется

Я использую robolectric для тестирования класса AsyncTask. В тесте он делает то, что я ожидаю, когда задача выполняется так: asyncTask.execute() Но когда я сделаю asyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR) Это не так (в обоих случаях я запускаю Robolectric.runUiThreadTasksIncludingDelayedTasks() У любого есть идея, почему вызов executeOnExecutor не запускает Robolectric для запуска, но выполнение работает нормально?

Robolectric с использованием фрагментов и ActionBarCompat NullPointerException

У меня есть приложение для Android, которое использует фрагменты и реализовало ActionBarCompat. Я написал простой тест Robolectric, показанный ниже: @Test public void shouldNotBeNull() throws Exception { MainFragment mainFragment = new MainFragment(); startFragment(mainFragment); assertThat(mainFragment, notNullValue()); assertThat(mainFragment.getActivity(), notNullValue()); } private void startFragment(MainFragment fragment) { FragmentActivity activity = new FragmentActivity(); shadowOf(activity).callOnCreate(null); shadowOf(activity).callOnStart(); shadowOf(activity).callOnResume(); FragmentManager fragmentManager = activity.getSupportFragmentManager(); FragmentTransaction […]

Тестирование пользовательских представлений с помощью Robolectric: ширина и высота всегда равны 0

Я создал пользовательский вид (DrawView) для приложения рисования. Это зависит от реальной ширины и высоты для внутренних растровых изображений. Когда я пытаюсь проверить его с помощью Robolectric 2.2, вид имеет длину и ширину 0, что приводит к сбою моей внутренней логики. Как я могу высмеять реальный размер экрана? Я использую простой LinearLayout с DrawView как […]