从 JUnit 单元测试中设置 android.location.Location 对象的参数

Posted

技术标签:

【中文标题】从 JUnit 单元测试中设置 android.location.Location 对象的参数【英文标题】:Set parameters of android.location.Location object from JUnit unit test 【发布时间】:2016-06-29 11:45:55 【问题描述】:

我正在尝试对接收 android.location.Location 对象的函数进行单元测试。但我阻止了,因为我无法为 Location 对象设置参数。

@Test
public void testLocation() 
    Location location = new Location("gps");
    location.setAccuracy(25F);
    location.setTime(5123L);
    System.out.println("Accuracy: " + location.getAccuracy());
    System.out.println("Time: " + location.getTime());

输出:

Accuracy: 0.0
Time: 0

Process finished with exit code 0

位置精度和时间为零,但值是在上面的代码中设置的。 这不是一个仪表测试,我在 jvm 下将它作为简单的单元测试运行(测试工件:单元测试)。

使用 JUnit 4.12

【问题讨论】:

【参考方案1】:

添加@RunWith(RobolectricTestRunner.class) 后 - 它按预期工作。

【讨论】:

以上是关于从 JUnit 单元测试中设置 android.location.Location 对象的参数的主要内容,如果未能解决你的问题,请参考以下文章

在测试之间传递JUnit数据

如何在 Swift 中设置单元测试?

在单元测试中设置 HttpContext.Current.Session

在 laravel 8 中设置单元测试环境

如何测试在视图控制器单元测试中设置私有变量的方法?

在Laravel 4单元测试中,如何在请求中设置cookie?