小编jam*_*l3s的帖子

初始化测试时,Robolectric + Gradle失败

当我尝试执行测试时,我无法使用Robolectric执行测试:

./gradlew test
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

com.Makeupalley.test.HomeRobolectricTest > initializationError FAILED
java.lang.NoClassDefFoundError
    Caused by: java.lang.ClassNotFoundException

java.lang.NoClassDefFoundError: android/app/Activity
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
.
.
.
Caused by: java.lang.ClassNotFoundException: android.app.Activity
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
Run Code Online (Sandbox Code Playgroud)

测试失败,任何断言都是这样的:assertTrue(true).

这是我的build.gradle:

buildscript {
    repositories {
        mavenCentral()
        maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
    }
     dependencies {
         classpath 'com.android.tools.build:gradle:0.12.+'
         classpath 'org.robolectric:robolectric-gradle-plugin:0.12.+'

    }
}

...

dependencies {
    compile('junit:junit:4.11') {
        exclude module: 'hamcrest-core'
    }

 compile('org.robolectric:robolectric:2.3') {
        exclude module: 'classworlds'
        exclude module: 'commons-logging'
        exclude module: 'httpclient'
        ...
    }    
}
Run Code Online (Sandbox Code Playgroud)

测试文件:

@Config(emulateSdk = 18)
@RunWith(RobolectricTestRunner.class) …
Run Code Online (Sandbox Code Playgroud)

android gradle robolectric android-studio

5
推荐指数
1
解决办法
2394
查看次数

标签 统计

android ×1

android-studio ×1

gradle ×1

robolectric ×1