Миграция тестов Junit4 на androidx: по каким причинам «не удалось загрузить программу-участник»? - PullRequest
0 голосов
/ 18 октября 2018

Я перевожу свое приложение на androidx, похоже, не работает мой модульный тест.Я взял пример из AndroidJunitRunnerSample от Google , который был обновлен для использования нового Androidroid API.Я получаю следующую ошибку при попытке запустить мои тесты:

java.lang.Exception: Delegate runner 'androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner' for AndroidJUnit4 could not be loaded. Check your build configuration.

Вот мой модуль build.gradle:

android {
    defaultConfig {
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
}
dependencies {
    // Test dependencies
    androidTestImplementation 'androidx.test:core:1.0.0-beta02'
    androidTestImplementation 'androidx.test.ext:junit:1.0.0-beta02'
    androidTestImplementation 'androidx.test:runner:1.1.0-beta02'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-beta02'
    androidTestImplementation "androidx.arch.core:core-testing:2.0.0"
    androidTestImplementation 'androidx.room:room-testing:2.1.0-alpha01'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-beta02'
    androidTestImplementation 'org.hamcrest:hamcrest-library:1.3'
}

А вот как мои тесты структурированы:

import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;

import androidx.test.ext.junit.runners.AndroidJUnit4;

@RunWith(AndroidJUnit4.class)
public class EntityParcelTest {

    @BeforeClass
    public void createEntities() {
        // Setup...
    }

    @Test
    void someTest() {
        // Testing here
    }

Что я делаю не так?

Ответы [ 11 ]

0 голосов
/ 19 октября 2018

Может быть, вы не обновили бегунок в файле конфигурации gradle?

defaultConfig {
    ...
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

Кроме того, AndroidStudio 3.2 имеет возможность автоматизировать миграцию ваших зависимостей в AndroidX (Refactor -> Migrate to AndroidX ...), который сделал это для меня.

...