Подтвердить что ты не робот

"Класс не найден" при запуске тестов JUnit от IntelliJ IDEA (Android)

У меня возникла проблема при попытке запуска некоторых тестов JUnit на Android в IntelliJ Idea.

Мой проект - проект библиотеки Android с использованием Gradle. Когда я запускаю свои тесты, IntelliJ жалуется на следующую ошибку:

Class not found: "com.domain.app.ClassTest"

Но ClassTest присутствует внутри тестового пакета.

Здесь мой build.gradle:

apply plugin: 'android-library'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
    }
}

dependencies {
    repositories {
        mavenCentral()
        maven {
            url 'https://oss.sonatype.org/content/repositories/snapshots/'
        }
    }

    compile 'com.android.support:support-v4:19.1.+'

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

android {
    compileSdkVersion 18
    buildToolsVersion "19.0.3"

    defaultConfig {
        versionName "1.0"
        versionCode 1

        targetSdkVersion 18
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src/main/java']
            res.srcDirs = ['res']
        }

        androidTest {
            java.srcDirs = ['src/test/java']
        }
    }

    lintOptions {
        abortOnError false
    }
}

Моя структура проекта:

src
|_ main
   |_ java
     |_ com.domain.app
|_ test
   |_ java
      |_ com.domain.app

Я использую IntelliJ IDEA 13.1.1.

Спасибо.

4b9b3361

Ответ 1

Перейдите к Project Structure -> Modules -> your_module -> Paths.

Значение "Output path" должно быть заполнено, но "Test output path" не будет. Скопируйте текст в 'Output path', вставьте в 'Test output path', но измените окончательный 'build/intermediates/classes/debug' на 'build/test-classes'. Это связано с тем, что тестовый плагин gradle android test в настоящее время сбрасывает все скомпилированные тестовые выходные данные (для всех вариантов) в один и тот же каталог. Это означает, что в настоящее время варианты не поддерживаются полностью.

Источник.