Powermockito puede utilizarse con Android Studio 1.2
Estoy usando Android Studio 1.2 y el plugin com.android.tools.build:gradle:1.2.2
.
Intento 1
app/build.gradle
siguiente en mi app/build.gradle
:
- Error de tiempo de ejecución PowerMock + Mockito: ProxyFrameworkImpl no se pudo encontrar en classpath
- No se puede usar PowerMock con Robolectric
- Android - Cómo ensayar una clase de registro con mockito
- Cómo probar métodos de unidad que interactúan con clases de sistema (o Android)
- Uso de PowerMock y Robolectric - IncompatibleClassChangeError
androidTestCompile ('com.google.dexmaker:dexmaker-mockito:1.2') androidTestCompile ('org.powermock:powermock-mockito-release-full:1.6.2')
Pero luego el paquete PowerMockito no está disponible para la importación:
error: cannot find symbol PowerMockito.mockStatic(DatastoreFactory.class); ^
Intento 2
app/build.gradle
siguiente en mi app/build.gradle
:
androidTestCompile ('org.powermock:powermock-api-mockito:1.6.2') { exclude module: 'hamcrest-core' exclude module: 'objenesis' } androidTestCompile ('org.powermock:powermock-module-junit4:1.6.2') { exclude module: 'hamcrest-core' exclude module: 'objenesis' }
Que es una rama de prueba y error de este q / a aquí: AndroidStudio / Gradle con powermock
Esto compila pero cuando ejecuta Mockito da un error de tiempo de ejecución:
java.lang.VerifyError: org/mockito/cglib/core/ReflectUtils at org.mockito.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:167) at org.mockito.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) at org.mockito.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:217) at org.mockito.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145) at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:117) at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:109) at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:105) at org.mockito.cglib.proxy.Enhancer.<clinit>(Enhancer.java:70) at org.powermock.api.mockito.repackaged.ClassImposterizer.createProxyClass(ClassImposterizer.java:95) at org.powermock.api.mockito.repackaged.ClassImposterizer.imposterise(ClassImposterizer.java:57) at org.powermock.api.mockito.repackaged.ClassImposterizer.imposterise(ClassImposterizer.java:49) at org.powermock.api.mockito.repackaged.CglibMockMaker.createMock(CglibMockMaker.java:24) at org.powermock.api.mockito.internal.mockmaker.PowerMockMaker.createMock(PowerMockMaker.java:45) at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:33) at org.mockito.internal.MockitoCore.mock(MockitoCore.java:59) at org.mockito.Mockito.mock(Mockito.java:1285) at org.mockito.Mockito.mock(Mockito.java:1163) at com.mdsol.naga.FormPusherTest.setUp(FormPusherTest.java:40) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)
¿Alguien está usando Powermock con éxito con Android Studio 1.2? Por favor, comparta su build.gradle
– gracias!
- ¿Puedo usar Cobertura en pruebas de unidad con PowerMock?
- Cómo probar la unidad android y burlarse de un método estático
- Cómo conseguir que Powermock funcione con Dexmaker
- Intento de trozo de clase de actividad de Android con PowerMockito lanza RuntimeException "Stub!"
- No se pueden ejecutar pruebas unitarias en Android Studio
- Valor de Stub de Build.VERSION.SDK_INT en la prueba de unidad local
- PowerMockito: NotAMockException en un simulacro
- ¿Cómo usar PowerMock en proyectos de Android?
Debe ser bueno ya. Al menos en mi caso su trabajo bien.
dependencies { testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-core:2.0.5-beta' testCompile 'com.android.support:support-v4:22.0.0' testCompile ('org.powermock:powermock-api-mockito:1.6.2') { exclude module: 'hamcrest-core' exclude module: 'objenesis' } testCompile ('org.powermock:powermock-module-junit4:1.6.2') { exclude module: 'hamcrest-core' exclude module: 'objenesis' } }
Además, recuerde seleccionar Unit Tests
en la sección Prueba de artefacto de Variantes de compilación en Android Studio. Debe asegurarse de que está utilizando la estructura de proyecto correcta, la versión Gradle y testCompile.
Usted puede encontrar el artículo sobre esto aquí: http://vexdev.com/2015/05/06/unit-testing-android/
Y todo el proyecto: https://github.com/vexdev/AndroidUnitTest
- Android + Maven "No se encontró ningún identificador de recurso para el atributo 'installLocation' en el paquete 'android'"
- La mejor manera de administrar el ProgressDialog de AsyncTask