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

标签 android unit-testing junit android-location locationmanager

我正在尝试对接收 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

位置精度和时间为零,但这些值是在上面的代码中设置的。 这不是 Intrumentation 测试,我在 jvm 下将其作为简单的单元测试运行(测试 Artifact :单元测试)。

使用 JUnit 4.12

最佳答案

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

关于android - 从 JUnit 单元测试设置 android.location.Location 对象的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35987519/

相关文章:

reactjs - 如何在要测试的 React 组件内模拟自定义钩子(Hook)?

android - 如何使用相对布局垂直对齐列表中的项目?

java - 如何在本地网络中找到系统(服务器)的 IP 地址?

android - 在android中保存 Activity 状态?

java - 没有&符号的改造查询

java - 在 JUnit 4 中,有没有一种方法可以在扩展 BlockJUnit4ClassRunner 的自定义运行程序中的所有 @BeforeClass 之前运行一段代码

java - Jglue(CDI 单元)是否仍然可用?

java - 如何模拟依赖于更新可变对象的方法

java - 在没有显式测试套件类声明的情况下清理所有 JUnit 测试

junit - Powermock:首先创建所有测试实例时不支持通知