Roboeletric - java.lang.UnsupportedClassVersionError

时间:2017-04-18 13:35:47

标签: android robolectric

我已经创建了新的android studio项目,下面是gradle文件,除了compileSDKVersion之外我没有改变任何东西

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.0"
    defaultConfig {
        applicationId "retailstore.android.com.tddandroid"
        minSdkVersion 15
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.0.0'
    testCompile 'junit:junit:4.12'

    // import roboeletric

    testCompile "org.robolectric:robolectric:3.3.2"


}

Android我写了我的第一个roboeletric测试如下:

@RunWith(RobolectricTestRunner.class)
public class MainActivityTest {

    @Test
    public void clickingLogin_shouldStartLoginActivity() {

        assertThat("").isEqualTo("");
    }
}

我通过命令提示符运行测试,如下所示:

enter image description here

1 个答案:

答案 0 :(得分:1)

请确保检查robolectric版本是否与java版本兼容:

Robolectric 24+ api版本需要JDK 1.8。

有可能在您的计算机上安装了1.7和1.8两个JDK版本,以便使用以下命令检查所有版本的安装:

$ ls -l /Library/Java/JavaVirtualMachines/
total 0
drwxr-xr-x  3 root  wheel  102 Nov  4  2013 jdk1.7.0_45.jdk
drwxr-xr-x  3 root  wheel  102 Jan 16 14:13 jdk1.8.0_25.jdk

正确切换JDK版本