Robolectric: StartFragment Fails

Does anyone know why I am having the problem of inflating the view for a fragment? It looks like it has something to do with this custom view, but after re-digging in the custom view, it doesn't make sense why the snippet launch fails. Looking for someone who can explain why Robolectric will fail.

 java.lang.NullPointerException
        at org.robolectric.shadows.ShadowAssetManager.getAndResolve(ShadowAssetManager.java:285)
        at org.robolectric.shadows.ShadowAssetManager.getAndResolve(ShadowAssetManager.java:273)
        at org.robolectric.shadows.ShadowAssetManager.getResourceValue(ShadowAssetManager.java:85)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.robolectric.bytecode.ShadowWrangler$ShadowMethodPlan.run(ShadowWrangler.java:473)
        at android.content.res.AssetManager.getResourceValue(AssetManager.java)
        at android.content.res.Resources.$$robo$$Resources_fb43_getValue(Resources.java:1114)
        at android.content.res.Resources.getValue(Resources.java)
        at android.content.res.Resources.$$robo$$Resources_fb43_getDrawable(Resources.java:693)
        at android.content.res.Resources.getDrawable(Resources.java)
        at android.view.View.$$robo$$View_17af_setBackgroundResource(View.java:14758)
        at android.view.View.setBackgroundResource(View.java)
        at com.astuetz.PagerSlidingTabStrip.updateTabStyles(PagerSlidingTabStrip.java:265)
        at com.astuetz.PagerSlidingTabStrip.notifyDataSetChanged(PagerSlidingTabStrip.java:205)
        at com.astuetz.PagerSlidingTabStrip.setViewPager(PagerSlidingTabStrip.java:182)
        at me.magneto.groups.fragments.group.ContainerFragment.onActivityCreated(ContainerFragment.java:103)
        at android.support.v4.app.Fragment.$$robo$$Fragment_d26f_performActivityCreated(Fragment.java:1512)
        at android.support.v4.app.Fragment.performActivityCreated(Fragment.java)
        at android.support.v4.app.FragmentManagerImpl.$$robo$$FragmentManagerImpl_917e_moveToState(FragmentManager.java:962)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java)
        at android.support.v4.app.FragmentManagerImpl.$$robo$$FragmentManagerImpl_917e_moveToState(FragmentManager.java:1121)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java)
        at android.support.v4.app.BackStackRecord.$$robo$$BackStackRecord_f093_run(BackStackRecord.java:682)
        at android.support.v4.app.BackStackRecord.run(BackStackRecord.java)
        at android.support.v4.app.FragmentManagerImpl.$$robo$$FragmentManagerImpl_917e_execPendingActions(FragmentManager.java:1484)
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java)
        at android.support.v4.app.FragmentManagerImpl$1.$$robo$$1_2e8b_run(FragmentManager.java:450)
        at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java)
        at org.robolectric.util.Scheduler.postDelayed(Scheduler.java:37)
        at org.robolectric.shadows.ShadowLooper.post(ShadowLooper.java:207)
        at org.robolectric.shadows.ShadowHandler.postDelayed(ShadowHandler.java:56)
        at org.robolectric.shadows.ShadowHandler.post(ShadowHandler.java:51)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.robolectric.bytecode.ShadowWrangler$ShadowMethodPlan.run(ShadowWrangler.java:473)
        at android.os.Handler.post(Handler.java)
        at android.support.v4.app.FragmentManagerImpl.$$robo$$FragmentManagerImpl_917e_enqueueAction(FragmentManager.java:1390)
        at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java)
        at android.support.v4.app.BackStackRecord.$$robo$$BackStackRecord_f093_commitInternal(BackStackRecord.java:595)
        at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java)
        at android.support.v4.app.BackStackRecord.$$robo$$BackStackRecord_f093_commit(BackStackRecord.java:574)
        at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java)
        at org.robolectric.util.FragmentTestUtil.startFragment(FragmentTestUtil.java:21)
        at me.magneto.groups.fragments.group.ContainerFragmentTest.onActivityCreated(ContainerFragmentTest.java:146)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:250)
        at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:177)
        at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:86)
        at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:49)
        at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:69)
        at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:48)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.messaging.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
        at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
        at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:105)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
        at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:355)
        at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

      

In my test, I am doing the following:

startFragment(mContainerFragment);

      

Here's the layout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".fragments.GroupFragment"
    android:id="@+id/group_container"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.astuetz.PagerSlidingTabStrip
        android:id="@+id/group_tabs"
        android:layout_width="match_parent"
        android:layout_height="48dip"
        app:pstsShouldExpand="true"/>
    <android.support.v4.view.ViewPager
        android:id="@+id/group_view_pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
    </android.support.v4.view.ViewPager>
</LinearLayout>

      

+3


source to share





All Articles