android - Mockito 无法模拟/监视,因为 : Final Class

标签 android kotlin mockito mockito-kotlin

我知道这个问题被问了很多时间,但是我遵循了很多答案,但仍然没有用

How to mock a final class with mockito

在这个链接中,他们说我们必须添加我们的 gradle :

testImplementation 'org.mockito:mockito-inline:2.13.0'

=> 目前我有
testImplementation "org.mockito:mockito-inline:2.28.2"

我的 MockMaker 文件中也有这一行:
mock-maker-inline

然后你可以看到我的以下代码:
object ApiHelper {

fun <T> createService(
        url: String,
        clazz: Class<T>
    ): T
}

在我的 UITEST
    @Mock
    private lateinit var service: myService

    private lateinit var apiHelper: ApiHelper

    @Before
    fun setUp() {

        apiHelper = mock(ApiHelper::class.java)

        given(ApiHelper.createService(
            anyString(),
            MyService::class.java,
        )).willReturn(service)
    }

我的代码有什么问题?我错过了什么吗?

最佳答案

mocking library for Kotlin http://mockk.io



我之前也用过mockito,写的时候问题很多。

相反,mock 功能强大,它使您的测试更容易编写和

object mocks只适合你的情况

关于android - Mockito 无法模拟/监视,因为 : Final Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59577137/

相关文章:

android - 从 Fragment 调用 Hilt-Dagger ViewModel

kotlin - 在全新构建(Windows 10)上通过 intellij 运行 example-cordapp 时出现问题

spring-mvc - 如何在 JUnit 或 Mockito 中检查附件的 MimeMessage?

android - 有没有办法在 AsyncTask 的抽象类保护方法中对代码进行单元测试?

android - 在 java 中编写 .3ds 或 .obj 加载程序

java - android 中添加/编辑/删除联系人的事件

Android 授权 google drive api

android - 如何从一个地方更改整个应用程序中的默认ClickSound

java - 模拟异常

java - 在 Android App 中打包 1 个以上的 widget