如何使用 Mockito 模拟 Context?

问题描述 投票:0回答:4

我使用 Context 来访问 WifiManager 和 BluetoothManager 等系统级服务。如何使用 Mockito 模拟这个 getApplicationContext() ?

android bluetooth mockito android-wifi android-context
4个回答
41
投票
    Context context = mock(Context.class);

26
投票

如果您想通过

Kotlin
Mockito
获取上下文,可以通过以下方式进行:

mock(Context::class.java)

9
投票

让我们看一下下面的类:MockContext

如果您需要更多了解,请查看官方测试基础知识页面


0
投票

不要嘲笑你不拥有的类型。但为什么?假设您正在模拟一个第三方库,如果该库的维护者进行了更改,那么您的测试将被执行,因为它是一个模拟,您认为一切都很好,但这并不是因为有一些您没有进行的更改意识到,事情可能会变得很糟糕。

© www.soinside.com 2019 - 2024. All rights reserved.