如何使用 mockk 库模拟 android 上下文

How to mock android context using mockk library

我是 Android 的 JUnit 测试新手,我正在测试一个函数,它使用 android 上下文对象获取字符串资源并进行一些比较。如何模拟 android 上下文对象以成功测试此功能?为了进行测试,我正在使用 Mockk 测试库。

  private val context = mockk<Context>()
  private val contextWrapper = ApplicationContextWrapper(context)
  private val objectUnderTest = AppLinkService(contextWrapper)

我试图使用 mockk<Context>() 模拟上下文,但出现以下异常

io.mockk.MockKException: no answer found for: Context(#1).getApplicationContext()

好的,我找到了答案。使用轻松模拟解决了我的问题

val mContextMock = mockk<Context>(relaxed = true)