【问题标题】:Mock PackageManager using Robolectric and Mockito使用 Robolectric 和 Mockito 模拟 PackageManager
【发布时间】:2018-09-05 16:32:17
【问题描述】:

我的 sut 类中有一个调用 PackageManager 的方法:

var intent = packageManager.getLaunchIntentForPackage(PACKAGE_NAME)

我想模拟它以便能够对其进行单元测试。 有没有办法使用 Robolectric 或/和 Mockito 来做到这一点? 谢谢

【问题讨论】:

    标签: android unit-testing mockito robolectric


    【解决方案1】:

    这是使用 AndroidX、Robolectric 和 Mockito 的示例

    val context = spy(ApplicationProvider.getApplicationContext())
    
    val packageManager = mock(PackageManager::class.java)
    doReturn(packageManager).`when`(context).packageManager
    doReturn(mock(Intent::class.java)).`when`(packageManager).getLaunchIntentForPackage(anyString())
    

    【讨论】:

      猜你喜欢
      • 2012-05-30
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 2017-03-07
      • 2023-03-12
      相关资源
      最近更新 更多