Articles of robolectric

Robolectric 2.x + Maven на Jenkins не справился с зависимостями APKLIB

У меня проблема с использованием Robolectric 2.x (я фактически использую 2.1) с проектом Android Maven с использованием APKLIB. Это означает, что Robolectric 2.x ожидает, что на библиотеки Android будут ссылаться в project.properties (этот файл автоматически заполняется Intellij или Eclipse). Он отлично работает при использовании Maven в среде разработки, однако, если я хочу создать проект Android […]

Как переопределить URL-адрес репозитория зависимостей времени выполнения Robolectric?

Мы пытаемся использовать org.robolectric:robolectric:3.0 от нашего собственного внутреннего репозитория Nexus. Проблема в том, что Robolectric пытается загрузить некоторые зависимости во время выполнения из общего репозитория ( как указано здесь ) и игнорирует любые переопределения репозитория в build.gradle. Поскольку у нас нет доступа к этому общедоступному местоположению из нашей интрасети, мой тайм-аут тестов после попытки загрузить […]

Robolectric, проблемы с элементами списка кликов

Я немного борюсь с этой проблемой, и я думаю, что у меня нет ничего принципиального в Robolectric. Обычно некоторые поисковые запросы Google могут помочь мне разобраться с этим типом проблемы, но между этим и просмотром кода примера я не нахожу ничего полезного. Я пытаюсь подражать клику на элементе списка и проверять, что действие запускается после […]

Как я могу издеваться над контекстом, используя Mockito и Robolectric?

Это фрагмент моей деятельности: public class Search extends Activity { private String TAG = "SEARCH"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.search); Log.d(TAG, "About to call initialastion"); // new InitialisationTask(this).execute(); } } В приведенной выше строке я могу с радостью создать и выполнить модульные тесты следующим образом: @RunWith(RobolectricTestRunner.class) public class SearchTest { private Search […]

Проблемы с манифестом и настройкой, позволяющие Robolectric работать с Android Studio 1.1.0

Я пытаюсь получить тесты Robolectric и работать в нашем текущем проекте и не иметь большой удачи. Мое предпочтение было бы заставить их работать в Android Studio 1.1.0+. Это моя структура проекта: И вот мой тест: import android.widget.Button; import com.mycompany.android.app.R; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import static org.junit.Assert.assertNotNull; @Config(manifest […]

Параметры Jvm в android при выполнении теста gradlew

У меня есть проект, который использует Robolectric для целей единичного тестирования. Этот проект использует Robolectric 3.0 и ему необходимо добавить -ea и -noverify опции виртуальной машины. В Android Studio я создал новую конфигурацию JUnit в Run > Edit Configurations… а затем установите VM Options на « -ea -noverify . Таким образом, я успешно выполняю свой […]

Работа с Android / Robolectric – активированная активность возвращает null на getResource

Это связано с использованием платформы Robolectric для модульного тестирования на Android. Я получаю исключение нулевого указателя в коде, который не имеет проблем при нормальной работе. Я только начинаю с roboelectric, так что это, наверное, довольно просто. Вот код вызова для тестирования: @Test public void testInitUtilsInitSequenceNumberIsRandom() { // create an activity for reference InitUtils initUtils = […]

Ошибка при попытке проверить XML-анализ с помощью Robolectric

Я использую Robolectric и пытаюсь проверить разбор XML-ответа. Я получаю следующее исключение: java.lang.NoClassDefFoundError: java/lang/AutoCloseable at android.util.Xml.parse(Xml.java:80) at com.test.app.network.parser.soap.BaseSoapParser.doParse(BaseSoapParser.java:57) at com.test.app.network.parser.soap.RecipeParser.parse(RecipeParser.java:57) at com.test.app.network.command.RecipeCommand.searchRecipes(RecipeCommand.java:64) at com.test.app.data.PrepopulateDB.prepopulateDB(PrepopulateDB.java:53) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:230) 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:172) at […]

Может (должен) robolectric использоваться для тестирования Intent Filter

У меня есть приложение, которое запускает определенное действие, если используется определенный URL с пользовательской схемой. Например, если в веб-браузере используется «myscheme: //www.myapp.com/mypath», мое приложение запускается. Для этого я настраиваю фильтры намерений в манифесте так: <intent-filter> <action android:name="android.intent.action.View" /> <data android:scheme="myscheme" android:host="www.myapp.com" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter> Я хотел бы убедиться, что это […]

Robolectric + PowerMock + Mockito не работает

Я изо всех сил пытаюсь получить эту редкую комбинацию, но мне не повезло. В моем проекте используется JUnit + Mockito + Robolectric для тестирования и Roboguice для инъекций, когда я добавил PowerMock к уравнению, которое произошло странно, вот некоторые из вещей, которые я пробовал: 1. – Вне коробки PowerMock + Mockito + Robolectic интеграция. Как […]