Articles of robolectric

Интеграция робота и огурца

Я хочу объединить как Robolectric, так и Cucumber (JVM). В настоящее время у меня есть два класса ActivityStepdefs где определены два определения шага для управления деятельностью. Моим вторым классом является RoActivity Например, когда создается действие из его имени класса и где будет использоваться Robolectric. Когда я запускаю RoActivityTest с использованием RobolectricTestRunner тест в этом классе […]

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 […]

Можно ли заменить MediaStore тестовым двойным с использованием robolectric?

У меня есть класс, который запрашивает MediaStore для изображений. Например, у меня есть код, который выглядит как someContentResolver.query( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, … ) . Я хочу проверить, что, среди прочего, мои запросы к MediaStore верны. То, что я сделал до сих пор в своем тесте, следующее: ContentResolver resolver = new Activity().getContentResolver(); ContentValues values = new ContentValues(); values.put( […]

Android: не может надуть пользовательский вид в Robolectric test

Таким образом, это возможный дубликат этого вопроса: Тестирование пользовательских представлений с помощью Robolectric. Но поскольку у этого нет принятого ответа, я снова попрошу, используя свои собственные примеры кода. Я использую Robolectric 2.3 для запуска модульных тестов в проекте, который использует настраиваемое представление, определенное в файле с именем «here_now.xml», как: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:weightSum="1"> […]

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 […]

Тестирование CursorLoader с помощью Robolectric & Mockito

Учитывая, что я разрабатываю простой ListFragment (в этом случае он читает список художников из MediaStore, но также будет читать данные из другого источника позже) следующим образом: @EFragment public class ArtistsFragment extends ListFragment implements LoaderManager.LoaderCallbacks<Cursor> { private static final String TAG = ArtistsFragment.class.getName(); private SimpleCursorAdapter mAdapter; Uri uri = MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI; CursorLoader mCursorLoader; @AfterViews void setupView() { […]

Mocking SQLite-Database при тестировании активности с Robolectric

В последние несколько дней я начал играть с roboguice, robolectric и mockito. У меня есть небольшое Android-приложение с экраном входа, содержащим AutoCompleteTextView для более быстрого ввода имени пользователя. Имена пользователей для AutoCompleteTextView хранятся в базе данных sqlite. public class MainActivity extends RoboActivity implements View.OnClickListener { @InjectView(R.id.startScreen_Login_Button) private Button loginButton; @InjectView(R.id.startScreen_Cancel_Button) private Button cancelButton; @InjectView(R.id.startScreen_forgotPwd_TextView) private […]

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

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

Ресурсы $ NotFoundException при вызове Robolectric.buildActivity ()

Я использую Robolectric 3.0 RC3 для модульного тестирования в Android Studio. И я получаю ResourceNotFoundException каждый раз, когда я запускаю тест. Пожалуйста, помогите мне решить проблему. build.gradle dependencies { testCompile 'junit:junit:4.12' compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' testCompile 'org.mockito:mockito-core:1.9.5' testCompile 'org.robolectric:robolectric:3.0-rc3' compile 'com.ibm.icu:icu4j:53.1' } Тест-класс @Before public void setUp() throws Exception { activity = […]

Проблема с Robolectric с новой версией сервисов Google Play

Я использую Robolectric для модульных тестов, у меня есть Google Play Services в моем проекте. Это работало нормально, до вчерашнего дня, когда Google Play Services обновилась до новой версии. Я получаю эту ошибку: java.lang.NullPointerException at com.google.android.gms.common.GooglePlayServicesUtil.zzh(Unknown Source) at com.google.android.gms.common.GooglePlayServicesUtil.zzd(Unknown Source) at com.google.android.gms.common.GoogleApiAvailability.isGooglePlayServicesAvailable(Unknown Source) at com.google.android.gms.common.api.zzg$zze.zznn(Unknown Source) at com.google.android.gms.common.api.zzg$zzi.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) […]

Intereting Posts