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的问题,并进行测试。

相关内容

热门资讯

黑科技辅助器!陕麻圈(辅助器)... 黑科技辅助器!陕麻圈(辅助器),个人棋牌其实存在有透视挂插件(有辅助挂存在)1、个人棋牌公共底牌简单...
黑科技辅助器!大治麻将(辅助器... 黑科技辅助器!大治麻将(辅助器),心动麻将确实是真的有透视挂技巧(有辅助挂辅教程)1、完成心动麻将辅...
黑科技作弊器!乐乐安徽麻将(作... 黑科技作弊器!乐乐安徽麻将(作弊器),汇和原来是有透视挂教程(有辅助挂详细)1、游戏颠覆性的策略玩法...
黑科技开挂!乐禧棋牌(开挂),... 黑科技开挂!乐禧棋牌(开挂),酷玩部落电子游戏原来是真的有透视挂插件(有辅助挂详细)亲,关键说明,酷...
黑科技作弊器!奈曼麻将(作弊器... 黑科技作弊器!奈曼麻将(作弊器),水果汇一直真的有透视挂工具(有辅助挂功能)1、奈曼麻将透视辅助软件...
黑科技辅助!卡农大厅(辅助),... 黑科技辅助!卡农大厅(辅助),广西跑胡子原来是真的有透视挂软件(有辅助挂详情)1、完成广西跑胡子辅助...
黑科技作弊器!老友记(作弊器)... 黑科技作弊器!老友记(作弊器),九九大厅一直有透视挂攻略(有辅助挂秘籍)九九大厅破解侠是真的助透视。...
黑科技透视挂!微信小程序微乐陕... 黑科技透视挂!微信小程序微乐陕西挖坑辅助(透视挂),微乐福州麻将好像是有透视挂插件1)微信小程序微乐...
黑科技开挂!微信小程序微乐辅助... 黑科技开挂!微信小程序微乐辅助器教程(开挂),微乐陕西麻将果然真的是有透视挂方法微信小程序微乐辅助器...
黑科技作弊器!小程序微乐辅助器... 黑科技作弊器!小程序微乐辅助器2.0(作弊器),微乐明皇暗保真是真的是有透视挂软件1、操作简单,无需...