有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 flag支持
如果将android.library.reference.1 = .. / ActionBarSherlock添加到测试项目的project.properties中,那么测试项目可以编译但是在运行时它会抱怨找不到主要活动的类( NoClassDefFoundError的)
答案 0 :(得分:0)
不幸的是,这会失败,但是测试可以由Eclipse构建和运行。您唯一需要考虑的是在 Java Build Path - &gt;中检查robotium库。您的测试项目中的订单和导出
并检查您的库项目是否在测试项目的属性中引用 NOT
如果您想单独测试库项目 ,可以按照android: testing library projects中所述的说明进行操作。
我知道这可能不是解决方案,因为你正在使用Jenkins,但至少它会让你从坚实的基础开始。