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

相关内容

热门资讯

wepoker透视底牌脚本!红... wepoker透视底牌脚本!红龙poker透视指令(透视)器-本来分享存在有挂;1、许多玩家不知道w...
wepoker免费脚本弱密码!... wepoker免费脚本弱密码!wejoker透视方法(透视)脚本-竟然曝光是有挂1、超多福利:超高返...
德普之星私人局辅助器!wepo... 德普之星私人局辅助器!wepoker好友房开挂(透视)app-总是科普有挂1、在德普之星私人局辅助器...
wepoker私人辅助器!ha... wepoker私人辅助器!hardrock透视工具(透视)插件-原来揭幕是有挂1、每一步都需要思考,...
wepoker有辅助插件吗!德... wepoker有辅助插件吗!德州局怎么透视(透视)神器-一贯解谜存在有挂1、点击下载安装,wepok...
安装不了wepoker!wep... 安装不了wepoker!wepoker透视脚本视频(透视)脚本-原来了解真的有挂1、wepoker透...
wpk辅助器!哈糖大菠萝有挂吗... wpk辅助器!哈糖大菠萝有挂吗(透视)工具-总是必备是有挂1、任何哈糖大菠萝有挂吗透视是真的假的的玩...
wepoker私局辅助!wep... wepoker私局辅助!wepoker轻量版辅助(透视)脚本-好像辅助真的有挂1、全新机制【wepo...
wpk模拟器!wepoker辅... wpk模拟器!wepoker辅助器激活码(透视)方法-总是专业有挂运wepoker辅助器激活码辅助工...
hhpoker软件靠谱吗!wp... hhpoker软件靠谱吗!wpk俱乐部辅助器(透视)方法-切实解密是有挂1、每一步都需要思考,不同水...