AndroidStudio中Robolectric测试中ActivityBundle对象为null,是否测试过早?
创始人
2024-08-21 02:00:23
0

在进行Robolectric测试时,我们可能会遇到Activity中的Bundle对象为null的情况,这通常是由于测试过早所致。解决这个问题的方法是使用Robolectric提供的ActivityController来创建Activity并调用其onCreate()方法,然后再设置Bundle。以下是一个示例:

@RunWith(RobolectricTestRunner.class)
public class MainActivityTest {
    private MainActivity mActivity;
    private Bundle mBundle;

    @Before
    public void setUp() throws Exception {
        mBundle = new Bundle();
        mBundle.putString("key", "value");
        mActivity = Robolectric.buildActivity(MainActivity.class).create(mBundle).get();
    }

    @Test
    public void testActivityNotNull() throws Exception {
        assertNotNull(mActivity);
    }

    @Test
    public void testActivityBundleNotNull() throws Exception {
        assertNotNull(mActivity.getIntent().getExtras());
    }
}

这里我们使用了@Before注释,它用来指定在执行每个测试方法之前都要调用setUp()方法。在setUp方法中,我们使用Robolectric的ActivityController来创建MainActivity并将Bundle设置为其参数。然后,我们在测试方法中验证Activity和Bundle对象是否为null。这样就可以避免Bundle对象为null的问题,并进行测试。

相关内容

热门资讯

透视详情"wepok... 透视详情"wepoker辅助真的假的"好像真的有辅助插件(哔哩哔哩)1、wepoker辅助真的假的破...
透视解谜"wepok... 透视解谜"wepoker好友局透视"好像真的有辅助挂(哔哩哔哩)运wepoker好友局透视辅助工具,...
透视推荐"wepok... 透视推荐"wepoker透视方法"切实有辅助工具(哔哩哔哩)1、玩家可以在wepoker透视方法线上...
透视解谜"wepok... 透视解谜"wepoker透视有用吗"一直真的是有辅助工具(哔哩哔哩)1、下载好wepoker透视有用...
透视专业"wpk辅助... 透视专业"wpk辅助器"都是存在有辅助攻略(哔哩哔哩)1)wpk辅助器辅助插件:进一步探索wpk辅助...
透视科普"wepok... 透视科普"wepoker轻量版辅助"果然存在有辅助插件(哔哩哔哩)1、进入到wepoker轻量版辅助...
透视揭幕"hhpok... 透视揭幕"hhpoker开挂教程"确实是真的辅助教程(哔哩哔哩)1、进入到hhpoker开挂教程是否...
透视了解"约局吧德州... 透视了解"约局吧德州透视"一直有辅助方法(哔哩哔哩)1、许多玩家不知道约局吧德州透视辅助怎么退出观战...
透视解谜"wepok... 透视解谜"wepoker透视app下载"一直是有辅助技巧(哔哩哔哩)1、下载好wepoker透视ap...
透视科普"xpoke... 透视科普"xpoker辅助器"都是是有辅助工具(哔哩哔哩)1、玩家可以在xpoker辅助器透视最简单...