【问题标题】:Android : What is the correct gradle configuration to use Mockito to support espresso and unit test both?Android:使用 Mockito 支持 espresso 和单元测试的正确 gradle 配置是什么?
【发布时间】:2017-01-05 01:55:33
【问题描述】:

我正在使用 Espresso 运行几个测试,有些测试是纯 junit,这两个测试都需要 mockito。

想知道如何正确包含 mockito 以支持两者,如果我使用以下配置之一,其他配置将不起作用。

1) testCompile "org.mockito:mockito-core:2.+"

2) androidTestCompile "org.mockito:mockito-core:2.+

【问题讨论】:

    标签: android android-gradle-plugin mockito android-espresso


    【解决方案1】:

    由于 dexmaker 冲突,我目前在不同的构建类型中配置和运行它们。不确定这是预期/正确的方式还是有更好的方法。

    因此,假设您已经有一个“调试”构建类型,请定义另一个,即“espresso”。然后构建 gradle 看起来像:

    android {
      ...
      testBuildType 'espresso'
    }
    
    ...
    
    dependencies {
    
      ...
    
      def mockito = "org.mockito:mockito-core:2.+"
      espressoCompile(mockito) {
          exclude module: 'hamcrest-core'
      }
      espressoCompile("com.crittercism.dexmaker:dexmaker-mockito:$dexMakerVersion") {
        exclude module: 'hamcrest-core'
      }
      espressoCompile "com.crittercism.dexmaker:dexmaker-dx:$dexMakerVersion"
    
      androidTestCompile "com.android.support.test.espresso:espresso-intents:$espressoVersion"
      androidTestCompile "com.android.support.test.espresso:espresso-contrib:$espressoVersion"
      androidTestCompile mockito
    
      testCompile mockito
    }
    

    当您要运行测试时,需要调用目标 gradle 脚本,即“testDebug”或“installEspressoAndroidTest”。

    或者在 Android Studio 中,您需要在切换到“espresso”构建变体后运行 espresso 测试。

    希望它对您有所帮助或给您一些想法。

    【讨论】:

      猜你喜欢
      • 2015-01-02
      • 1970-01-01
      • 2021-03-24
      • 2017-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多