/ / Android Studio 0.8.1 Robolectric Setup-android、android-studio、robolectric

Android Studio 0.8.1 Robolectricセットアップ - アンドロイド、アンドロイドスタジオ、robolectric

現在、robolectric gradle 0.12プラグインがないため、新しいAndroid 0.8.1でrobolectricが動作するようにしようとしています。

* 問題:

androidTestCompile "org.robolectric:robolectric:2.3"

次の宣言を使用してrobolectricをコンパイルすると、テストディレクトリに「org.robolectric。*」が見つかりません。スタジオでは「cannot resolve symbol ...」エラーが発生します。

次のプロジェクトによると、imlファイルを手動で更新する必要があります。 gradleファイルを更新すると、行った変更が上書きされるため、これはおそらく最適なソリューションではありません。

この問題の助けをいただければ幸いです!!ありがとうございました。

* 現在のプロジェクト構造は次のとおりです。

   src -> main -> java

src -> test -> java

* 以下は私の現在のbuild.gradleモジュールファイルです。

apply plugin: "android-library"
apply plugin: "robolectric"


buildscript {
repositories {
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:0.12.+"
classpath "org.robolectric:robolectric-gradle-plugin:0.11.+"
}
}

allprojects {
repositories {
jcenter()
}
}

android {
compileSdkVersion 16
buildToolsVersion "19.1.0"
publishNonDefault true

packagingOptions {
exclude "LICENSE.txt"
exclude "META-INF/LICENSE"
exclude "META-INF/LICENSE.txt"
exclude "META-INF/NOTICE"
}

defaultConfig {
applicationId "com.myapp.example.main"
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"

}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
productFlavors {
}
sourceSets {
androidTest {
setRoot("src/test/java")
}
}
lintOptions {
abortOnError false
disable "InvalidPackage"
}
}

dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:+"
compile files("libs/gson-2.2.4.jar")
compile "com.google.android.gms:play-services:+"
compile "com.android.support:support-v13:+"

/* Including testing libraries */
androidTestCompile "junit:junit:4.10"
androidTestCompile "org.robolectric:robolectric:2.3"
}

robolectric {
// configure the set of classes for JUnit tests
include "**/*Test.class"

// configure max heap size of the test JVM
maxHeapSize = "2048m"
}

回答:

回答№1は0

今は少し遅れています。しかし、このエラーに出くわし、依存関係のRobolectricのバージョンが古くなっていたことが判明しました。 ここに、エラーを修正しました。また、 androidTestCompiletestCompile ここにユニットテストを書いているので。2つの違いを見つけることができます ここに