que - flavors android gradle
Junit testing con Gradle para un proyecto de Android (5)
Estoy intentando que las pruebas (junit y robolectric) funcionen en un proyecto de Android pero estoy totalmente atascado. Mi problema principal es que todas las pruebas que encontré con gradle de alguna manera activan el complemento java y luego aparece este error:
The ''java'' plugin has been applied, but it is not compatible with the Android plugins.
La única salida que veo en este momento es dividirse en proyecto de prueba y aplicación, pero me gustaría evitar eso. ¡Cualquier ejemplo / consejo sería muy apreciado!
En la documentación oficial no se mencionan las pruebas unitarias, solo las pruebas de instrumentación, pero quiero que las pruebas unitarias obtengan resultados rápidamente.
AndroidStudio y el nuevo complemento Gradle de Android ahora ofrecen soporte oficial para pruebas de unidad.
Esto es compatible con Android Studio 1.1+ y Android Gradle plugin versión 1.1.0+
Las dependencias ahora se pueden declarar como testCompile:
dependencies {
testCompile ''junit:junit:4.12''
testCompile "org.mockito:mockito-core:1.9.5"
}
Más detalles aquí: tools.android.com/tech-docs/unit-testing-support .
Debe usar este documento https://developer.android.com/training/testing/unit-testing/local-unit-tests.html Describe las pruebas de unidades sin instrumentación que se ejecutan en la máquina del desarrollador, no en el dispositivo Android.
Esta guía podría ayudar - http://www.slideshare.net/tobiaspreuss/how-to-setup-unit-testing-in-android-studio
Último gradle la prueba debe estar bajo androidTest dir
También en tu gradle.build:
dependencies {
androidTestCompile ''junit:junit:4.+''
}
también agregue aquellos bajo defaultConfig {
testPackageName "test.java.foo"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
Esto es lo que funcionó solo para mí:
androidTestCompile ''net.bytebuddy:byte-buddy-android:0.7.8''
No necesitas el complemento de Java, ya que Android se encargará de lo que más necesites, por lo que he visto hasta ahora.
Logré que mis pruebas de Robolectric y Junit se ejecutaran a través del blog de este hombre: http://tryge.com/2013/02/28/android-gradle-build/
Mi archivo build.gradle tiene este aspecto (donde mis archivos de prueba están en el directorio {projectdir} / prueba.
...
// Unit tests
sourceSets {
unitTest {
java.srcDir file(''test'')
resources.srcDir file(''test/resources'')
}
}
dependencies {
unitTestCompile files("$project.buildDir/classes/debug")
unitTestCompile ''junit:junit:4.11''
unitTestCompile ''org.robolectric:robolectric:2.1.1''
unitTestCompile ''com.google.android:android:4.0.1.2''
}
configurations {
unitTestCompile.extendsFrom runtime
unitTestRuntime.extendsFrom unitTestCompile
}
task unitTest(type:Test, dependsOn: assemble) {
description = "run unit tests"
testClassesDir = project.sourceSets.unitTest.output.classesDir
classpath = project.sourceSets.unitTest.runtimeClasspath
}
build.dependsOn unitTest