0

インストルメンテーション テスト用のクラスを作成しようとしています。このクラスは androidTest フォルダにありますapp\src\androidTest\java\...。しかし、AndroidJUnit4解決ActivityTestRuleできません。インポートステートメントでimport android.support.test.runner.AndroidJUnit4は、「ランナー」という単語は赤で表示されています。テストクラスは Kotlin です。私はそれを削除してJavaで作成しようとしましたが、それでもAdnroidJUnit4をインポートできません。同様の質問をいくつか読みましたが、私の場合の解決策が見つかりませんでした。これら 2 つは、プロジェクトとアプリの build.gradle ファイルです。私の gradle ファイルに問題はありますか? アプリ build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion rootProject.ext.compileSdkVersion

    defaultConfig {
        applicationId "com.sample.me"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
        archivesBaseName = "$applicationId-$versionName-$versionCode"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        // For room compat
        multiDexEnabled true
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation":
                                     "$projectDir/schemas".toString()]
            }
        }
    }

    sourceSets {
        androidTest.assets.srcDirs +=
                files("$projectDir/schemas".toString())
    }

    buildTypes {

        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }

        debug {
            minifyEnabled true
        }
    }
    buildToolsVersion '27.0.3'
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    // Room
    implementation "android.arch.persistence.room:runtime:$rootProject.ext.roomVersion"
    kapt "android.arch.persistence.room:compiler:$rootProject.ext.roomVersion"

    // Support libs
    implementation "com.android.support:recyclerview-v7:$rootProject.ext.supportVersion"
    implementation "com.android.support:design:$rootProject.ext.supportVersion"
    implementation "com.android.support:cardview-v7:$rootProject.ext.supportVersion"
    implementation "com.android.support:appcompat-v7:$rootProject.ext.supportVersion"
    implementation "com.android.support.test.espresso:espresso-idling-resource:$rootProject.ext.espressoVersion"

    implementation 'joda-time:joda-time:2.9.9'

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$rootProject.ext.kotlinVersion"

    // Dependencies for local unit tests
    testImplementation "junit:junit:$rootProject.ext.junitVersion"
    testImplementation "org.hamcrest:hamcrest-all:$rootProject.ext.hamcrestVersion"
    testImplementation "org.mockito:mockito-core:$rootProject.ext.mockitoVersion"

    // Android Testing Support Library's runner and rules
    androidTestImplementation "com.android.support.test:runner:$rootProject.ext.runnerVersion"
    androidTestImplementation "com.android.support.test:rules:$rootProject.ext.runnerVersion"

    // Dependencies for Android unit tests
    androidTestImplementation "junit:junit:$rootProject.ext.junitVersion"
    androidTestImplementation "org.mockito:mockito-android:$rootProject.ext.mockitoVersion"

    //androidTestImplementation "com.android.support.test.espresso:espresso-core:$rootProject.ext.espressoVersion"
    androidTestImplementation "com.android.support.test.espresso:espresso-contrib:$rootProject.ext.espressoVersion"
    androidTestImplementation "com.android.support.test.espresso:espresso-intents:$rootProject.ext.espressoVersion"

    // Resolve conflicts between main and test APK:  not resolve
    androidTestImplementation "com.android.support:support-annotations:$rootProject.ext.supportVersion"
    androidTestImplementation "com.android.support:support-v4:$rootProject.ext.supportVersion"
    androidTestImplementation "com.android.support:recyclerview-v7:$rootProject.ext.supportVersion"
    androidTestImplementation "com.android.support:appcompat-v7:$rootProject.ext.supportVersion"
    androidTestImplementation "com.android.support:design:$rootProject.ext.supportVersion"
    androidTestImplementation "com.android.support.test.espresso.idling:idling-concurrent:$rootProject.ext.espressoVersion"
    androidTestImplementation "android.arch.persistence.room:testing:$rootProject.ext.roomVersion"
}

repositories {
    mavenCentral()
}

トップ build.gradle

    ext {

    // Sdk and tools
    compileSdkVersion = 26
    targetSdkVersion = 26
    minSdkVersion = 19
    buildToolsVersion = '27.0.1'
    supportVersion = '27.0.2'

    // App dependencies
    espressoVersion = '3.0.1'
    roomVersion = '1.1.0-alpha1'

    junitVersion = '4.12'
    mockitoVersion = '2.8.47'
    hamcrestVersion = '1.3'
    runnerVersion = '1.0.1'
    rulesVersion = '1.0.1'
    espressoVersion = '3.0.1'
}

buildscript {
    ext.kotlinVersion = '1.2.21'
    ext.gradlePluginVersion = '2.3.0'

    repositories {
        jcenter()
        mavenCentral()
        google()

    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0-beta1' // Use plain string for auto update
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" 


      }
    }
        allprojects {
            repositories {
                jcenter()
                google()
                maven { url 'https://maven.google.com' }
            }
        }

        task clean(type: Delete) {
            delete rootProject.buildDir
        }

更新最後に、これはプロジェクト パスに空白があるためであることがわかりました。スペースを削除したので、クラスをインポートできるようになりました。

4

1 に答える 1