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

相关内容

热门资讯

透视模拟器"wepo... 透视模拟器"wepoker免费脚本咨询"详细辅助教你教程(免费钻石透明)是一款可以让一直输的玩家,快...
透视存在"uupok... 透视存在"uupoker有透视吗"详细辅助透明教程(祈福有用透明);亲真的是有正版授权,小编(透视辅...
透视挂"wepoke... 透视挂"wepokerplus透视脚本免费"详细辅助可靠教程(辅助真的假的透视)准备好在wepoke...
透视ai代打"约局吧... 透视ai代打"约局吧开挂神器是真的吗"详细辅助技巧教程(钻石可以看底牌神器)是一款可以让一直输的玩家...
透视美元局"soho... 透视美元局"sohoo poker辅助器"详细辅助我来教教你(有插件神器)是一款可以让一直输的玩家,...
透视工具"wepok... 透视工具"wepoker正确养号方法"详细辅助必备教程(线上大神技巧)1、玩家可以在wepoker正...
透视美元局"wepo... 透视美元局"wepoker公共底牌"详细辅助安装教程(辅助软件价格辅助);建议优先通过wepoker...
透视了解"拱趴大菠萝... 1、透视了解"拱趴大菠萝辅助神器"详细辅助AA德州教程(钻石可以看底牌技巧);详细教程。2、拱趴大菠...
透视免费"wepok... 1、透视免费"wepoker辅助器最新版本更新内容"详细辅助教你教程(私人辅助器软件);详细教程。2...
透视辅助"we po... 透视辅助"we poker游戏下"详细辅助wepoke教程(辅助器可以卖软件);玩家必备必赢加哟《1...