从IntelliJ IDEA(Android)运行JUnit测试时“找不到类”

尝试在IntelliJ Idea中运行一些Android JUnit测试时遇到问题。

我的项目是使用Gradle的Android库项目。 当我运行我的测试时,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。

谢谢。

转到Project Structure -> Modules -> your_module -> Paths

应填写“ Output path ”的值,但不会显示“ Test output path ”。 复制“ Output path ”中的文本,粘贴到“测试输出路径”,但将最终的“ build/intermediates/classes/debug ”更改为“ build/test-classes ”。 这是因为gradle android测试插件当前将所有已编译的测试输出(对于所有变体)转储到同一目录中。 这意味着目前尚未完全支持变体。

来源 。

尝试将“test”重命名为“androidTest”

src |_ main |_ java |_ com.domain.app |_ **androidTest** |_ java |_ com.domain.app

http://tools.android.com/tech-docs/new-build-system/migrating_to_09