他の多くの人と同じように、MockitoがAndroidで動作するようになったと聞いて興奮し、このチュートリアルに従って自分の目でそれを確認しました。すべてがファンの羽ばたきのようで、Androidテストプロジェクトにモックソリューションを組み込んでいます...
エラー
mockito-all-1.9.5
ただし、dexmaker-1.0
とjarを活用するようにアプリケーションのテストプロジェクトを設定するdexmaker-mockito-1.0
と、最初のテストケースで問題が発生しました。まさにこの問題は実際に。私が支援を求めているのは、
Caused by: java.lang.VerifyError: org/mockito/cglib/core/ReflectUtils
at org.mockito.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:167)
at org.mockito.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at org.mockito.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:217)
at org.mockito.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:117)
at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:109)
at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:105)
at org.mockito.cglib.proxy.Enhancer.<clinit>(Enhancer.java:70)
スタックトレースはDexMakerjarが使用されていないことを示しているため、これは「まだ完全には機能しない」と通知されています。この応答を参照してください。ただし、プロジェクトの設定に関して何か問題があるのではないかと疑っています。そのため、ここにある集合的なナレッジベースから、これが実際にユーザーエラーなのかベータバグなのかを確認したいと考えています。
私のAndroidテストプロジェクトのセットアップ
テストプロジェクトの構成のスクリーンショットを以下に示します。プロジェクトはAndroidウィザードを介して作成され、ディレクトリの下にMockitoおよびDexMaker jar(上記)が含まれていること以外の特別な機能は共有していませんlibs
。
テスト
テストの内容(単体テストが実行される前にテストが失敗する)を気にしないでください。セットアップは以下のとおりです。
public class TestSpotRatingCalculator extends InstrumentationTestCase {
@Mock
private AService aService; // Changed the service names being used here - not important.
@Mock
private BService bService;
@Mock
private CService cService;
@Mock
private DService dService;
/**
* @see android.test.AndroidTestCase#setUp()
*/
@Override
protected void setUp() throws Exception {
super.setUp();
MockitoAnnotations.initMocks(this); // Failure here with aforementioned stacktrace...
}
誰かが何が悪いのか考えているなら、ここで音を立ててください。