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

Как вводить зависимость при тестировании активности Android без сторонней структуры?

Я хочу протестировать активность Android CommentActivity которая обычно CommentActivity и использует экземпляр CommentsDataSource (оба являются классами, которые я написал). public class CommentActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { : CommentsDataSource = new CommentsDataSource(..); : } : } Я готов самостоятельно создать MockCommentsDataSource и хотел бы избежать использования сторонней фальсификации. (Почему? Потому что […]

Представляемые решения для тестирования приложений для Android

Я только что просмотрел около 10 книг Android, прочитал кучу статей и нашел пару фреймворков, но до сих пор я не нашел исчерпывающего способа тестирования приложений для Android. Слишком плохо, что тестирование появляется (если вообще) только в виде одной и короткой главы только в некоторых книгах. Есть: ActivityUnitTestCase и ActivityInstrumentationTestCase2 Robolectric Robotium Но ни один […]

Почему я не получаю никаких тестов?

При выполнении ./gradlew clean connectedAndroidTest со следующей конфигурацией … Я получаю No tests found Это мой build.gradle: buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:0.14.1' classpath 'com.github.jcandksolutions.gradle:android-unit-test:2.0.1' } } allprojects { repositories { maven { url "http://dl.bintray.com/populov/maven" } jcenter() } } apply plugin: 'com.android.application' android { packagingOptions { exclude 'LICENSE.txt' exclude 'META-INF/LICENSE' exclude […]

Как заставить Espresso ждать, пока Data Binding обновит представление с помощью модели данных?

Я запускаю тесты Espresso в своем приложении для Android. Тест чешуйчатый. Он может надежно утверждать, что модель данных обновлена. Моя проблема в том, что ViewMatchers не могут совпадать с одним и тем же значением в представлении, потому что ViewDataBinding еще не обновил Views. (По крайней мере, большую часть времени проходит тест). Существует ли такая вещь, […]

Как исключить классы Dagger2 из тестового покрытия

Есть ли возможность исключить классы Dagger2 из отчета об охвате тестирования в Android Studio

Robolectric: тестирование ListView с шаблоном ViewHolder вызывает NullPointerException

У меня есть ListActivity что этот адаптер реализует шаблон ViewHolder. Адаптер и зритель: private class PlaceAdapter extends ArrayAdapter<PlaceModel> { final int viewResourceId; public PlaceAdapter(Context context, int textViewResourceId, List<PlaceModel> objects) { super(context, textViewResourceId, objects); viewResourceId = textViewResourceId; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { LayoutInflater […]

Использование Espresso, как я могу проверить количество элементов в моем диалоговом окне alert

У меня есть диалоговое окно с предупреждением, в котором отображается несколько элементов. private String[] choices; // populated externally AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setItems(choices, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { _callback.onChoiceSelected(which); dialog.dismiss(); } }); _dialog = builder.create(); В разных обстоятельствах (например, если вы администратор / гость) у вас будет другое […]

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

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

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

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

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

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