2016-02-05 12 views
5

PowerMockをAndroid InstrumentTestCaseで使用しようとしています 私のテストはAndroidデバイス上で実行されるので、ライブラリをapkに追加する必要があります。ランタイムエラーPowerMock + Mockito:クラスパスにProxyFrameworkImplが見つかりません

私はpowermock + mockitoとDexファイルで大きな問題に遭遇しました。ここで

com.android.dex.DexException: Multiple dex files define Lnet/sf/cglib/beans/BeanCopier$BeanCopierKey 

:私は(answersで提案している)のいずれかCGLIB/CGLIB-NODEPを含む場合

org.powermock.api.extension.proxyframework.ProxyFrameworkImpl could not be located in classpath. 

とコンパイルエラー: は私だけpowermock + mockito私の依存関係のあるランタイムエラーを持っています私のgradle.buildの一部です:

androidTestCompile 'com.android.support.test:runner:0.3' 
androidTestCompile 'org.powermock:powermock-api-mockito:1.6.4' 
androidTestCompile 'org.powermock:powermock-module-junit4:1.6.4' 
androidTestCompile 'cglib:cglib-nodep:3.2.0' 
androidTestCompile 'cglib:cglib:3.2.0' 

私は何が欠けていますか?

ありがとうございます!

+0

私は同じ問題を抱えています。あなたは解決策を見つけることができましたか? – Daniel

+0

まだ、私は問題を延期しました。 ライブラリーをダウンロードしようとしましたが、コンテンツを見てみると、同じジャーが両方あることがわかります。 1つのライブラリから削除する必要があります。 – nsvir

答えて

5

私はまた、Androidの計測器テスト用にPowerMockを使用しようとしましたが、同じ問題が発生しました。ここで

は私がPowerMockは、JVMバイトコード操作を使用しているので、あなたは、デバイス上でそれを実行した場合にAndroid上で動作しません PowerMock github

PowerMockに見つけたものです。それはあなたがJVMでそれを実行する場合でも動作します。

私は、PowerMockがAndroidでの単体テストにのみ適していると思います。

+0

お返事ありがとうございます!私は情報の不足のために諦めました。 – nsvir

+0

実際には、計測テストにモックスタッフを挿入するには、いくつかの異なるアプローチが必要です。たとえば、Robolectricユニットテストに再設計し、PowerMockまたはMockitoを使用することができます。私が覚えているように、私はこのように私の問題を解決しました。 –

関連する問題