3 つのプロジェクトがあります。
- 主なプロジェクト
- main が参照するライブラリ プロジェクト (ActionBarSherlock)
- ロボティウム テスト プロジェクト。
これら 3 つのプロジェクトは、Jenkins によってワークスペースの 3 つのフォルダーにチェックアウトされます。
ただし、Robotium テスト プロジェクトはライブラリ プロジェクトを参照できません。
標準の「android update test-project」のみを使用すると、ライブラリ プロジェクトを間接的に参照するため、テスト プロジェクトはコンパイルされません。
[javac] /home/jenkins_test/test/src/com/**********/test/core/**********TestCase.java:15: cannot access com.actionbarsherlock.app.SherlockFragmentActivity [javac] class file for com.actionbarsherlock.app.SherlockFragmentActivity not found [javac] ActivityInstrumentationTestCase2<Home> { [javac] ^ [javac] /home/jenkins_test/test/src/com/**********/test/core/**********TestCase.java:55: cannot find symbol [javac] symbol : constructor Solo(android.app.Instrumentation,com.**********.activity.Home) [javac] location: class com.jayway.android.robotium.solo.Solo [javac] solo = new Solo(getInstrumentation(), getActivity()); [javac] ^
「android update test-project」には --library フラグのサポートがありません
android.library.reference.1=../ActionBarSherlock がテスト プロジェクトの project.properties に追加されている場合、テスト プロジェクトはコンパイルできますが、実行時にメイン アクティビティのクラスが見つからない (NoClassDefFoundError) というメッセージが表示されます。