Uso de Espresso 2.0 + Roboeléctrico en un proyecto de Android
Ya tengo un montón de pruebas Roboeléctricas. Quiero añadir Espresso 2.0 que se ha introducido recientemente.
Roboeléctrico introducido deckard-gradle modelo de proyecto para resolver el problema de usar Roboeléctrico y Espresso juntos. Pero la solución es para Espresso 1.1 que está en desuso ahora.
- Robolectric dice "AndroidManifest.xml no encontrado"
- La base de datos Robolectric que accede arroja un error
- Prueba de solicitudes okHttp con Robolectric - callbacks
- RoboLectric y Android en Eclipse (ADVERTENCIA: no hay valor de propiedades del sistema para ro.build.date.utc)
- Las pruebas Robolectric fallan cuando se ejecutan en CLI
Esto es parte de mi archivo build.gradle con el fin de usar Espresso 2.0, mientras que tengo Roboeléctrico, así como seguir Espresso 2.0 instrucción :
buildscript { repositories { mavenCentral() maven { url 'http://download.crashlytics.com/maven' } } dependencies { classpath 'org.robolectric:robolectric-gradle-plugin:0.13.2' } } apply plugin: 'com.android.application' apply plugin: 'robolectric' android { packagingOptions { exclude 'LICENSE.txt' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE' } compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { versionCode 1 versionName '1.0' minSdkVersion 9 targetSdkVersion 21 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } } robolectric { include '**/*Test.class' exclude '**/espresso/**/*.class' } dependencies { androidTestCompile 'com.android.support.test:testing-support-lib:0.1' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0' androidTestCompile('junit:junit:4.11') { exclude module: 'hamcrest-core' } androidTestCompile('org.robolectric:robolectric:2.4') { exclude module: 'classworlds' exclude module: 'commons-logging' exclude module: 'httpclient' exclude module: 'maven-artifact' exclude module: 'maven-artifact-manager' exclude module: 'maven-error-diagnostics' exclude module: 'maven-model' exclude module: 'maven-project' exclude module: 'maven-settings' exclude module: 'plexus-container-default' exclude module: 'plexus-interpolation' exclude module: 'plexus-utils' exclude module: 'wagon-file' exclude module: 'wagon-http-lightweight' exclude module: 'wagon-provider-api' exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'com.android.support', module: 'support-v4' } }
Pero no puedo ejecutar Roboeléctrico y Espresso prueba individualmente. Agradezco por cualquier sugerencia.
Addenda:
to run roboelectric test : gradlew test to run espresso: gradlew connectedAndroidTest
- Robolectric includeAndroidResources not found
- ¿Cómo probar un IntentService con Robolectric?
- Robolectric usando Fragments y ActionBarCompat NullPointerException
- Ejecutar RoboElectric varias veces con diferentes sdk versión
- Android Studio - Robolectric: android.content.res.Resources $ NotFoundException: ninguna etiqueta como com.my.app:string/app_name
- Robolectric 3.0 java.lang.NoSuchMethodException en crear actividad
- Mocking SQLite-Database durante la prueba de actividad con Robolectric
- ¿Es posible probar una actividad abstracta con Robolectric
Pruebe con este proyecto de inicio android: https://github.com/freezy/android-seed
Tiene muchas características :
- Carga muy bien en Android Studio
- Robolectric pruebas de trabajo y debuggable en IDE (para pruebas de unidad)
- Espresso pruebas de trabajo y debuggable en IDE (para pruebas funcionales)
- Los últimos Lollipop compat libs listos para usar
- Cobertura de prueba habilitada
He excluido las pruebas para lograr lo que quieres.
sourceSets { androidTest { java { exclude 'com/company/project/**/*Test.java' } } }
y
gradle.taskGraph.whenReady {taskGraph -> def testRunTask = project.tasks.getByName 'testDebug' testRunTask.include(['**/*Test.class']) testRunTask.exclude(['**/espresso/**/*.class','**/integration/**/*.class']) }
- Editar / eliminar eventos de Google Calendar y obtener el ID de evento
- Android obteniendo cadenas de la base de datos sqlite a autocompletetextview