有3个项目:
- 主要项目
- main 引用的一个库项目(ActionBarSherlock)
- 一个机器人测试项目。
这三个项目由 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)