Articles of robolectric

NPE при вызове getSystemService в экземпляре службы Robolectric

Когда я попытался вызвать getSystemService в экземпляре Service, он выбросил NPE. Он вызывается в onCreate: Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); И я создал экземпляр службы следующим образом: @Test public void test() throws Exception{ FooService service = new FooService(); service.oncreate();//NPE in this line //… intent declaration service.onStartCommand(intent, 0, 1); } Но когда я попытался изменить исходный […]

Возможно ли проводить интеграционные тесты с Robolectric?

У меня есть MainActivity и SubActivity . MainActivity имеет кнопку, запускающую startActivityForResult вызывающую SubActivity . SubActivy несет ответственность за добавление записи в определенный репозиторий, так что когда он вызывает finish , MainActivty в методе onActivityResult должен вызывать notifyDataSetChanged на адаптере: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode == RESULT_OK && requestCode […]

Задача с именем «testDebug» не найдена в проекте ': module'

Начиная с com.android.tools.build:gradle:1.3.0 вы можете запускать Task with name 'testDebug' not found in project ':module'. Как и в предыдущем этапе построения, невозможно было правильно протестировать библиотечные модули с помощью Robolectric & Java. Это обходное решение было создано: afterEvaluate { project -> android.libraryVariants.each { variant -> println variant.name println tasks tasks.getByName("test${variant.name.capitalize()}") { dependsOn "assemble${variant.name.capitalize()}" } } […]

Тестирование фрагментов с помощью Robolectric 3.0

У меня есть два фрагмента, связанных с деятельностью. public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LoginFragment loginFragment = new LoginFragment(); FragmentManager fragmentManager = getSupportFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(android.R.id.content,loginFragment); fragmentTransaction.commit(); } public void userReg(View view){ RegisterFragment regFragment = new RegisterFragment(); FragmentManager fragmentManager1 = getSupportFragmentManager(); FragmentTransaction fragmentTransaction1 = fragmentManager1.beginTransaction(); […]

Robolectric: тестирование с помощью ormlite

Я пытаюсь проверить ORMLite DAO с robolectric, но поведение базы данных не такое же, как когда оно используется из моего приложения для Android. Мои DAO отлично работают в андроидном приложении. Читая о robolectric тени и код отладки, я столкнулся с ShadowSQLiteOpenHelper ( здесь код). Кто-нибудь знает, достаточно ли этого Тени, чтобы проверить ormlite daos? Или […]

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

Я пытаюсь настроить тестовую среду для моего проекта Android. Выполняется базовая установка Robolectric. Я использовал этот хороший учебник . Если я прокомментирую SugarORM в моем Manifest.xml, все тесты будут работать нормально. Но если я хочу использовать его с SugarORM, я всегда получаю эту ошибку: Java.lang.NullPointerException в dalvik.system.DexFile $ DFEnum.hasMoreElements (DexFile.java:239) в com.orm.SugarDb.getDomainClasses (SugarDb.java:37) в com.orm.SugarDb.createDatabase […]

Как я могу проигнорировать ошибки тестирования с помощью плагина gradbo robolectric?

Я использую robolectric-gradle-plugin для тестов robolectric. Я не хочу отказываться от сборки неудавшихся тестов. Есть ли способ в DSL или свойство не -DtestFailureIgnore=true тест на сборке, подобный -DtestFailureIgnore=true в плагине Surefire Maven? Я пробовал: robolectric { ignoreFailures = true } а также robolectric { ignoreFailure = true } И -DignoreFailure=true в командной строке. Я не […]

Как проверить в robolectric ли я открыл фрагмент при нажатии кнопки?

У меня есть несколько кнопок, при нажатии на них я открываю разные фрагменты диалога. Я хочу знать, как проверить, открыт ли диалог? Или если он открывается, это правильный тип? Пожалуйста помоги. Заранее спасибо.

Как я могу тестировать код Android, который имеет View Animators?

У меня есть экземпляр, где несколько кнопок показаны и скрыты в зависимости от того, какая страница в ViewPager отображается. Они показаны и скрыты с помощью Animators. Есть ли способ проверить модульное тестирование / задержку до тех пор, пока это не будет завершено? Я использую Robolectric, так как это, вероятно, актуально. Я попытался позвонить Robolectric.runUiThreadTasksIncludingDelayedTasks(); Но […]

Robolectric 3.0 – ресурс не разрешен при использовании applicationIdSuffix

Я успешно использовал этот код для загрузки ресурсов как в приложении, так и в его модульных тестах с помощью Robolectric 2.4: getContext().getResources().getIdentifier(resName, "string", getContext().getPackageName()); Где Context будет MyApplication в App и TestMyApplication в Robolectric тестах. С Robolectric 3.0 это больше не работает, когда applicationIdSuffix добавляется в файл сборки, вызов возвращает 0. Это известная проблема? Это […]

Intereting Posts