2017-01-05 10 views
0

私はエスプレッソを使っていくつかのテストを実行していますが、いくつかのテストは普通のjunitです。どちらのテストもmockitoが必要です。Android:エスプレッソと単体テストの両方をサポートするためにMockitoを使用するための正しい階調設定は何ですか?

以下のいずれかの設定を使用すると、両方をサポートするためにmockitoを正しく組み込む方法が不思議です。

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

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

答えて

0

私は現在のでdexmakerの競合のため、別のビルドタイプでそれらを設定し、実行します。それが意図された正しい方法であるか、それを行う良い方法があるかは不明です。

既に「デバッグ」ビルドタイプがあると仮定して、別の「エスプレッソ」を定義します。あなたがテストを実行したい場合は、あなたが目標のGradleスクリプト、すなわち「testDebug」または「installEspressoAndroidTest」を呼び出す必要が

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は次のようになります。

またはAndroidスタジオでは、 "エスプレッソ"ビルドに切り替わった後にエスプレッソテストを実行する必要があります。

希望するか、あなたにそれについてのご意見をお寄せください。