Robolectric 3.0 java.lang.NoSuchMethodException en crear actividad

Estaba emocionado de oír que el estudio de androide había hecho algunas actualizaciones para hacer la prueba de unidad simple de hacer en el estudio de Android, así que he estado tratando de configurar roboelectric pero no puedo pasar este error que se produce durante el siguiente método.

MainActivity = Robolectric.buildActivity(MainActivity.class).create().get(); 

con el siguiente stacktrace

Causado por: java.lang.RuntimeException: java.lang.NoSuchMethodException: java.lang.Object.attach (android.content.Context, android.app.ActivityThread, android.app.Instrumentation, android.os.IBinder, int, android .app.Application, android.content.Intent, android.content.pm.ActivityInfo, java.lang.CharSequence, android.app.Activity, java.lang.String, android.app.Activity $ NonConfigurationInstances, android.content.res .Configuration) at org.robolectric.util.ReflectionHelpers.traverseClassHierarchy (ReflectionHelpers.java:248) at org.robolectric.util.ReflectionHelpers.callInstanceMethod (ReflectionHelpers.java:138) … más

¿Por qué esto está ocurriendo y qué puedo hacer para superarlo?

Si escribes unit tests , entonces definitivamente puedes usar spy y mock 's de la biblioteca de Mockito .

  1. Agregar la dependencia de la biblioteca de Mockito:

    testCompile 'org.mockito:mockito-core:2.0.3-beta'

  2. Crear Activity espía en su método de prueba:

    Activity activity = spy(Activity.class);

Puede leer más sobre objetos de espionaje y simulacros para una mejor comprensión de sus propósitos.

  • AndroidHttpClient no encontrado (al ejecutar Robolectric)
  • No se puede crear ActionBarActivity desde Robolectric 2 unidad de prueba
  • No se puede usar PowerMock con Robolectric
  • ¿Cómo sobreescribir la URL del repositorio de dependencia de Robolectric?
  • Proporcionando datos de prueba para SharedPreferences para Robolectric
  • Uso de PowerMock y Robolectric - IncompatibleClassChangeError
  • Google Analytics - NullPointerException en la prueba
  • Prueba de ActiveAndroid con Robolectric
  • Error: La renovación del proyecto 'HelloWorld' de Gradle falló: Error de script de compilación, método de DSL de Gradle sin soporte encontrado: 'setRoot ()'!
  • Actualizar Robolectric 2.4: Obtener error de etiqueta de aplicación para proyectos de biblioteca en eclipse
  • Jvm opciones en android cuando se ejecuta gradlew test
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.