【问题标题】:How to set up Mockito for Kotlin and Android如何为 Kotlin 和 Android 设置 Mockito
【发布时间】:2017-11-14 09:37:25
【问题描述】:

我想使用 Mockito 进行单元测试,所以我将 Mockito 库添加到我的 gradle 依赖项中。

testImplementation 'junit:junit:4.12'
testCompile 'org.mockito:mockito-core:2.12.0' 

但是,我仍然不能使用任何 Mockito 注释。

/androidTest/ExampleTest.kt

@RunWith(MockitoJUnitRunner::class) // Unresolved reference MockitoJUnitRunner
@Mock // Unresolved reference Mock

我错过了什么?

【问题讨论】:

    标签: android kotlin mockito


    【解决方案1】:

    您需要在应用的 build.gradle 中添加以下依赖项:

    dependencies {
        // ... more entries
        testCompile 'junit:junit:4.12'
    
        // required if you want to use Mockito for unit tests
        testImplementation 'org.mockito:mockito-core:2.24.5'
        // required if you want to use Mockito for Android tests
        androidTestImplementation 'org.mockito:mockito-android:2.24.5'
    }
    

    然后点击同步

    【讨论】:

      【解决方案2】:

      你可能需要另一个依赖:

      androidTestCompile 'org.mockito:mockito-android:2.12.0'
      

      或者,您可以尝试手动导入注释:

      import static org.mockito.Mockito.*;
      

      可能是它没有正确导入,这就是它显示为未解析引用的原因。自动导入有其缺陷

      【讨论】:

        【解决方案3】:

        我遇到了与objenesis 相关的assembleDebugAndroidTest 问题。因此,根据 Shylendra 的回答,您可能需要替换

        androidTestImplementation 'org.mockito:mockito-android:2.24.5'
        

        androidTestImplementation("org.mockito:mockito-core:2.8.47")
        

        【讨论】:

          【解决方案4】:

          mockito 上非常舒适的库:

              testImplementation 'org.mockito:mockito-inline:2.21.0'
              testImplementation('com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0') {
                  exclude group: 'org.jetbrains.kotlin'
                  exclude group: 'org.mockito'
              }
          
              // Also works like a charm with instrumentation tests
              androidTestImplementation 'org.mockito:mockito-android:3.5.13'
              androidTestImplementation('com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0') {
                  exclude group: 'org.jetbrains.kotlin'
                  exclude group: 'org.mockito'
              }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-07-25
            • 1970-01-01
            • 1970-01-01
            • 2018-02-21
            • 2018-10-23
            • 2022-12-10
            • 1970-01-01
            相关资源
            最近更新 更多