繁体   English   中英

如何使用Robolectric对Android中的GPS位置进行单元测试?

[英]How to unit test the GPS location in android using Robolectric?

我有一个android应用,可在点击按钮时提供当前位置。 我要对该功能进行单元测试。 我正在使用Robolectric。 问题是,系统服务可以通过onCreate()方法访问,但不能从其中访问。 在这种情况下,如何在不调用onCreate()方法的情况下访问设备的GPS坐标?

我尝试从testClass调用onCreate(),但它给了我空指针异常。

我正在按照在线教程http://ckarthik17-tech.blogspot.ca/2013/04/android-robolectric-unit-testing.html进行位置单元测试,但对我而言不起作用。

在本教程中,测试类具有以下代码,这对我来说引发了空指针异常。

@Before
public void setUp() {
    mainActivity = new MainActivity();
    mainActivity.onCreate(null); // this is giving me null
    mainActivity.onCreate(new Bundle()); //I tired this too,still it gives me null
}

Robolectric创建应用程序的方式有所不同。 尝试这个:

mainActivity = Robolectric.buildActivity(MainActivity.class).create()
            .start().resume().get();

NPE应该消失了,该教程中的其余代码也可以正常工作。 请注意,艾伦·埃文斯(Alan Evans)实际上在您引用的帖子的评论部分中添加了几乎相同的摘要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM