我试图配置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'
}
所以,问题似乎是我在运行测试时无法访问源文件,但我找不到修复它的方法。
谁能告诉我我做错了什么? 谢谢!
答案 0 :(得分:1)
main.setRoot('src/main') => Is it really a main folder / package in your project?
您可以使用完整文件目录再次测试,例如: src / helloword / mainActivity.java