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

Как изменить настройки android.permission при выполнении тестов

Вопрос Я работаю над сторонней библиотекой, которая использует геолокацию, если 1-я партийная библиотека предоставила разрешения. Я хотел бы проверить поведение, но не могу отправить свое приложение с разрешениями, установленными в манифесте (b / c, тогда он не будет необязательным). Нужно ли, например, установить <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> только при выполнении тестов? Детали Я использую инструменты построения […]

Android Sharding

Может ли кто-нибудь объяснить, что означают тесты, связанные с андроидом? И если кто-то может поделиться любым учебником, это будет очень полезно. Слово «осколок» означает небольшую часть целого. Как оштрафование выполняется на основе всего числа, и на каком основании я должен указывать shardIndex? Определение как в документах разработчика. Тестовый осколок Тест-бегун поддерживает разделение одного набора тестов […]

AWS-устройство с эспрессо и JUnit4

Я хочу проверить свое приложение в ферме AWS, используя androidTestCompile 'com.android.support.test:runner:0.4' androidTestCompile 'com.android.support.test:rules:0.4' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1' androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1' androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.1') { exclude group: 'com.android.support', module: 'appcompat' exclude group: 'com.android.support', module: 'support-v4' exclude module: 'recyclerview-v7' } androidTestCompile 'junit:junit:4.12' androidTestCompile 'com.squareup.retrofit:retrofit-mock:1.9.0' androidTestCompile 'com.squareup.assertj:assertj-android:1.1.0' androidTestCompile 'com.squareup.spoon:spoon-client:1.2.0' Образец теста: @RunWith(AndroidJUnit4.class) and run with AndroidJUnitRunner, I have my tests starting like: @RunWith(AndroidJUnit4.class) […]

Espresso: нет представлений в иерархии, найденных совпадением с id: android: id / home

Когда я запускаю свой тестовый пример, я получил следующее исключение. Android.support.test.espresso.NoMatchingViewException: нет в иерархии найденных совпадений: с id: android: id / home Это мой код TestCase. public void nav_to_alarm_test(){ onView(withId(R.id.navigation_notifications)).perform(click()); onView(withId(R.id.rl_reminder)).perform(click()); onView(withId(R.id.item_test)).perform(click()); onView(withId(android.R.id.home)).perform(click());//throw exception here onView(withId(android.R.id.home)).perform(click()); } Это android.R.id.home, принадлежит кнопке, предоставленной ActionBar @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); […]

Издевательствование введенного поля в модульных тестах

У меня есть класс Presenter который использует поле, введенное через Dagger, оно выглядит примерно так: public class RssListPresenter { @Inject RssService rssService; // <– injected field public RssListPresenter() { setupDI(); } private void setupDI() { DaggerNetworkComponent.builder() .networkModule(new NetworkModule()) .build() .inject(this); } public void loadItems() { Rss rss = rssService.getRssFeed() // …. } } Все работает […]

Отправка строчных букв в TextEdit во время инструментальных тестов

Я пишу тестовый пример JUnit для своего приложения для Android. Класс test расширяет ActivityInstrumentationTestCase2 и вызывает sendKeys() для эмуляции ввода пользователем для виджетов TextEdit . Однако все алфавитные коды клавиш (например, KeyEvent.KEYCODE_G ) отправляют только строчные буквы в TextEdit . Я попытался отправить KeyEvent.KEYCODE_SHIFT_LEFT перед отправкой алфавитного кода, но это, похоже, не работает. Итак, как […]

Тестирование подписки на Android: элемент не найден

Я пытаюсь проверить новые подписки в Google Play, но служба возвращает «Элемент не найден». Я использовал идентификатор «android.test.purchased» для тестирования. С этим идентификатором я могу отлично тестировать обычный продукт в приложении, но при подписке он не работает. В консоли Google Play я добавил подписку, и она опубликована. Должен ли я использовать реальный идентификатор подписки и […]

Java.lang.ClassNotFoundException: android.R

Я пытаюсь запустить простой junit-тест с Robolectric 2.2, но я получаю следующее сообщение об ошибке ADT package 22: java.lang.NoClassDefFoundError: android/R at org.robolectric.bytecode.Setup.<clinit>(Setup.java:40) at org.robolectric.RobolectricTestRunner.createSetup(RobolectricTestRunner.java:137) at org.robolectric.RobolectricTestRunner.createSdkEnvironment(RobolectricTestRunner.java:115) at org.robolectric.RobolectricTestRunner$3.create(RobolectricTestRunner.java:278) at org.robolectric.EnvHolder.getSdkEnvironment(EnvHolder.java:21) at org.robolectric.RobolectricTestRunner.getEnvironment(RobolectricTestRunner.java:276) at org.robolectric.RobolectricTestRunner.access$100(RobolectricTestRunner.java:57) at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:190) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:177) at […]

Параметрированные тесты JUnit в тестовом проекте Android

Когда я создаю параметризованные тестовые примеры в JUnit 3.x, я обычно создаю TestSuite с чем-то вроде public static Test suite() { TestSuite s = new TestSuite(); for (int i = MIN; i < MAX; ++i) { s.addTest(new MyTest(i)); } } Этот метод suite() корректно вызывается при запуске JUnit из командной строки на рабочем столе. Когда […]

Robolectric и Android Studio 1.1.0 и тестирование библиотеки

У меня возникают проблемы с тем, чтобы мои модульные тесты Robolectric выполнялись в рамках экспериментального варианта тестирования AS 1.1. Ошибка, которую я получаю, показана ниже; java.lang.NoClassDefFoundError: com/my/app/R$string at com.my.app.MoneyFormatter.formatDealMessage(MoneyFormatter.java:63) … Caused by: java.lang.ClassNotFoundException: com.my.app.R$string at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.robolectric.bytecode.AsmInstrumentingClassLoader.loadClass(AsmInstrumentingClassLoader.java:100) … 46 more Я […]

Intereting Posts
Строка состояния появляется, когда появляется мягкая клавиатура, но не скрывается, когда исчезает мягкая клавиатура в режиме погружения Как отключить взаимодействие с видео html5 в веб-просмотре или правильно перехватить их исключения? Атрибут getView () запрашивает позицию 0 дважды перед каждой позицией. Зачем? Android – данные, хранящиеся в onPause, onStop или onSaveInstanceState Установка Ellipsize в TextView уменьшает линии, показанные одним (вместо того, чтобы только эллипсизация последней) В Android (используя Java), как я могу установить громкость звонка (на указанный номер)? Встроенное мобильное приложение, использующее google dart language Учетные данные Webservice – OpenID / Android AccountManager? Как выровнять точки в середине другой точки зрения? Переход назад к прямой родительской активности при нажатии SavedInstanceState vs getIntent (). GetExtras () Изменить заголовок панели действий для каждой вкладки. Как использовать встроенные значки Android Загрузить растровое изображение или рисовать графику? Вопрос о производительности NoSuchMethodError с Android Lambdas