La integración de roboelectric con android studio con gradle siempre da el paquete org.junit no existe error
Estoy tratando de integrar la tecnología roboeléctrica en mi nuevo proyecto. Utilicé los siguientes enlaces para comprender e implicar la tecnología roboeléctrica
http://pivotallabs.com/setting-up-robolectric-in-android-studio-1-1-on-os-x/
http://nenick-android.blogspot.in/2015/02/android-studio-110-beta-4-and.html
http://raptordigital.blogspot.in/2014/02/test-driven-development-with.html
Pero recibo el siguiente error al ejecutar mi clase de prueba
Error:Gradle: Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.
E:\junitTest\android-studio-robolectric-example-master\JunitTestApp\app\src\test\java\com\inapp\junittestapp\SampleTest.java
Error:(7, 17) Gradle: error: package org.junit does not exist
Error:(8, 24) Gradle: error: package org.junit.runner does not exist
Error:(9, 23) Gradle: error: package org.robolectric does not exist
Error:(10, 34) Gradle: error: package org.robolectric.annotation does not exist
Error:(11, 31) Gradle: error: package org.robolectric.shadows does not exist
Error:(13, 27) Gradle: error: package org.hamcrest does not exist
Error:(13, 1) Gradle: error: static import only from classes and interfaces
Error:(14, 27) Gradle: error: package org.hamcrest does not exist
Error:(14, 1) Gradle: error: static import only from classes and interfaces
Error:(15, 24) Gradle: error: package org.junit does not exist
Error:(15, 1) Gradle: error: static import only from classes and interfaces
Error:(16, 30) Gradle: error: package org.robolectric does not exist
Error:(16, 1) Gradle: error: static import only from classes and interfaces
Error:(17, 30) Gradle: error: package org.robolectric does not exist
Error:(17, 1) Gradle: error: static import only from classes and interfaces
Error:(18, 30) Gradle: error: package org.robolectric does not exist
Error:(18, 1) Gradle: error: static import only from classes and interfaces
Error:(25, 2) Gradle: error: cannot find symbol class RunWith
Error:(26, 2) Gradle: error: cannot find symbol class Config
Error:(30, 6) Gradle: error: cannot find symbol class Test
Error:(32, 38) Gradle: error: cannot find symbol method setupActivity(Class<MainActivity>)
Error:(36, 9) Gradle: error: cannot find symbol method clickOn(Button)
Error:(38, 41) Gradle: error: cannot find symbol variable ShadowAlertDialog
Error:(39, 42) Gradle: error: cannot find symbol method notNullValue()
Error:(41, 9) Gradle: error: cannot find symbol class ShadowAlertDialog
Error:(41, 47) Gradle: error: cannot find symbol method shadowOf(AlertDialog)
Error:(42, 61) Gradle: error: cannot find symbol method is(String)
Agregado debajo de mi código de clase de prueba
import android.app.AlertDialog;
import android.widget.Button;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
import static org.junit.Assert.assertThat;
import static org.robolectric.Robolectric.clickOn;
import static org.robolectric.Robolectric.setupActivity;
import static org.robolectric.RobolectricBase.shadowOf;
@RunWith(RobolectricTestRunner.class)
@Config(manifest = "app/src/main/AndroidManifest.xml", emulateSdk = 18)
public class SampleTest {
@Test
public void buttonTapDisplaysAnAlertDialog() {
MainActivity helloActivity = setupActivity(MainActivity.class);
Button button = (Button) helloActivity.findViewById(R.id.button);
clickOn(button);
AlertDialog latestAlertDialog = ShadowAlertDialog.getLatestAlertDialog();
assertThat(latestAlertDialog, is(notNullValue()));
ShadowAlertDialog shadowAlertDialog = shadowOf(latestAlertDialog);
assertThat(shadowAlertDialog.getTitle().toString(), is("Hi"));
}
}
y mi archivo gradle de aplicaciones es
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.junittestapp"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets { main { java.srcDirs = ['src/main/java', 'src/test/java/'] } }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:support-v4:22.1.1'
testCompile 'junit:junit:4.12'
testCompile 'org.robolectric:robolectric:2.4'
}
También encontré el mismo error en este blog
Creo que extraño algo. Cualquier ayuda será apreciada.