Android测试找不到源类

时间:2014-11-11 02:09:14

标签: android android-gradle robolectric

我试图配置Android应用程序以使用robolectric运行测试。 我是新手,我无法找出问题所在。

当我在命令行上运行 ./ gradlew robolectric 时,我找不到符号错误。

我得到的错误是:

MainActivityTest.java:18: error: cannot find symbol
        Robolectric.buildActivity(MainActivity.class).get().getResources();
                                  ^
  symbol:   class MainActivity
  location: class MainActivityTest

这是我的build.gradle文件:

apply plugin: 'com.android.application'
apply plugin: 'robolectric'

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.app.id"
        minSdkVersion 16
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        abortOnError false
    }
    sourceSets{
        main.setRoot('src/main')
        androidTest.setRoot('src/test')
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    androidTestCompile 'org.robolectric:robolectric:2.3'
    androidTestCompile 'junit:junit:4.11'
}

所以,问题似乎是我在运行测试时无法访问源文件,但我找不到修复它的方法。

谁能告诉我我做错了什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

main.setRoot('src/main') => Is it really a main folder / package in your project?   

您可以使用完整文件目录再次测试,例如: src / helloword / mainActivity.java