【发布时间】:2015-11-18 23:08:25
【问题描述】:
我有一些包含多个单元测试的项目。
当我尝试在 Android Studio 中或使用gradle clean connectedCheck 从终端执行测试时,出现以下错误:Test running failed: Instrumentation run failed due to 'java.lang.IncompatibleClassChangeError'
它在 Android 5.x 设备上重现,但在 4.x 上没有错误发生。
但是,如果我尝试在 Android Studio 中运行单独的测试包、套件、类或某些测试,测试会顺利进行。
我不明白为什么。我需要从终端执行测试
build.gradle 文件:
apply plugin: 'com.android.application'
android {
compileSdkVersion 18
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.xxx.yyy"
minSdkVersion 9
targetSdkVersion 18
testApplicationId "com.xxx.zzz.tests"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
repositories {
mavenLocal()
jcenter()
mavenCentral()
}
android {
lintOptions {
abortOnError false
}
}
dependencies {
testCompile 'junit:junit:4.12'
compile fileTree(dir: 'libs', include: '*.jar')
}
有人有什么建议吗?
【问题讨论】:
标签: android unit-testing gradle automated-tests