用Gradle构建的Android项目在Jenkins上失败
我正在尝试使用詹金斯和格雷德尔构建一个Android项目。编译UnitTestJava任务时生成失败,找不到在测试中导入的任何类。在Android Studio中,运行测试没有问题,但在Jenkins上构建失败 项目中包括的测试如下:用Gradle构建的Android项目在Jenkins上失败,android,jenkins,android-gradle-plugin,Android,Jenkins,Android Gradle Plugin,我正在尝试使用詹金斯和格雷德尔构建一个Android项目。编译UnitTestJava任务时生成失败,找不到在测试中导入的任何类。在Android Studio中,运行测试没有问题,但在Jenkins上构建失败 项目中包括的测试如下: package mobile_teacher.test; import android.content.Intent; import android.test.ActivityUnitTestCase; import mobile_teacher.R; im
package mobile_teacher.test;
import android.content.Intent;
import android.test.ActivityUnitTestCase;
import mobile_teacher.R;
import mobile_teacher.src.DashboardActivity;
/**
* Created by blavi on 6/2/14.
*/
public class DashboardTest extends ActivityUnitTestCase<DashboardActivity> {
public DashboardActivity activity;
public DashboardTest() {
super(DashboardActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
Intent intent = new Intent(getInstrumentation().getTargetContext(),
DashboardActivity.class);
startActivity(intent, null, null);
activity = getActivity();
}
public void testLayout(){
assertNotNull(activity.findViewById(R.id.lessonsList));
}
}
你的詹金斯在哪里?它与您的开发帖子的架构相同吗?如果不是,我建议首先在控制台上启动第一个graddle命令。我遇到了一个问题,这个项目不是用graddle插件为jenkins构建的,而是用命令行成功构建的。如果有效(或无效),我们可能会进一步调查。此外,您是否尝试过启动:graddle--stacktrace和graddle--debug?我已经修复了它。未在android配置中指定源集。我编辑了build.gradle。现在,当我在Jenkins上构建项目时,我收到的是unit.framework.TestSuite$1.warning失败junit.framework.AssertionFailedError,位于TestSuite.java:97,原因是:org.gradle.api.GradleException:有失败的测试。即使有空测试或根本没有测试方法,我也会收到这个异常。
android {
compileSdkVersion 19
buildToolsVersion '19.1.0'
defaultConfig {
minSdkVersion 9
targetSdkVersion 19
}
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['src/main/res']
}
}
lintOptions {
abortOnError false
}
}
// extend the runtime
configurations {
unitTestCompile.extendsFrom runtime
unitTestRuntime.extendsFrom unitTestCompile
}
dependencies {
compile files('libs/libGoogleAnalyticsServices.jar')
compile 'com.android.support:appcompat-v7:19.0.0'
compile 'com.google.android.gms:play-services:4.3.23'
unitTestCompile files("$project.buildDir/classes/release")
unitTestCompile 'junit:junit:4.11'
unitTestCompile 'com.google.android:android:4.0.1.2'
unitTestCompile 'com.google.android:android-test:4.1.1.4'
}
// add a new unitTest sourceSet
sourceSets {
unitTest {
java.srcDir file('src/tests/java')
}
}
// add the unitTest task
task unitTest(type:Test, dependsOn: assemble) {
description = "run unit tests"
testClassesDir = project.sourceSets.unitTest.output.classesDir
classpath = project.sourceSets.unitTest.runtimeClasspath
}
check.dependsOn unitTest