タグ: Mockito

  • Mockito でテストしようとして java.lang.NoClassDefFoundError になる場合 – Android

    Mockito でテストしようとして java.lang.NoClassDefFoundError になる場合 – Android

    先月JUnit勉強会を開催しまして、

    JUnit勉強会 in 松山 – “REVIVAL” #season1

    その時に仕掛ったモックをあらためて使おうとしたところ、
    “java.lang.NoClassDefFoundError”
    となって先に進めない状況が続いていました。

    開発環境は、Googleが提供しているADT-Bundle版です。

    Get the Android SDK

    結局、ビルドパスの設定でMockitoをライブラリに追加したのが良くなかったようです。

    例えば、

    • テスト対象: TipsCalendar
    • テストプロジェクト: TipsCalendarTest

    の場合。

    javabuildpath-project
    Java Build Path – Projects

    テスト対象プロジェクトが指定されていること。

    javabuildpath-library
    Java Build Path – Libraries

    ターゲットのAPIとその依存関係が指定されていること。

    ※ここに手作業でmockito-all-1.9.5.jarを追加するとタイトルのエラーになりました。

    ビルドパスを編集するのではなくて、テストプロジェクトに libs フォルダを作成してその中に、

    • mockito-all-1.9.5.jar
    • dexmaker-1.0.jar
    • dexmaker-mockito-1.0.jar

    これらのファイルをコピーすればOKでした。