Требуется ли Robolectric Java 9? - PullRequest
2 голосов
/ 30 июня 2019

Все тесты пройдены, но я получаю это предупреждение.Robolectric говорит мне, что требуется Java 9.Я использую последнюю версию Robolectric.

[Robolectric] WARN: Android SDK 10000 requires Java 9 (have Java 8). Tests won't be run on SDK 10000 unless explicitly requested.
[Robolectric] com.example.testcaseWithRobolectric.MainActivityTest.testAllElements: sdk=28; resources=BINARY
Called loadFromPath(/system/framework/framework-res.apk, true); mode=binary sdk=28

Процесс завершен с кодом выхода 0

Это мой gradle.

    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'com.android.support:appcompat-v7:28.0.0'
        implementation 'com.android.support.constraint:constraint-layout:1.1.3'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.2'
        androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
        implementation project(path: ':domain_layer')
        testImplementation "org.robolectric:robolectric:4.3"
    }

defaultConfig {
        applicationId "com.example.testcaseWithRobolectric"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

Ответы [ 3 ]

0 голосов
/ 03 июля 2019

Аннотируйте свой тест с помощью

@Config(sdk = Build.VERSION_CODES.O_MR1)

или sdk = 27. Аннотация может идти над классом или методом теста, который вызывает ошибку.

Вы все еще можете получить предупреждение о том, что требуется Java 9, но тест будет выполняться на поддерживаемом SDK.

0 голосов
/ 10 июля 2019

в вашем тестовом классе, вы должны аннотировать @Config с массивом sdk в качестве параметра.

@Config(sdk = [Build.VERSION_CODES.O_MR1])
class SampleTest {}

Ваши тесты должны быть запущены.

0 голосов
/ 01 июля 2019

Вы должны работать на Java 9 только при тестировании на Android Q. Проверьте раздел совместимости на https://github.com/robolectric/robolectric/releases/tag/robolectric-4.3

...