Robolectric es-singlepane (/ solo-fragmento) -test

Acabo de empezar a probar Robolectric y como estoy jugando actualmente con el ejemplo de Dynamic Single / Dualpane-Fragment de la página de desarrollador de Google pensé en integrar allí y hacer algunas pruebas básicas.

Lo primero que quería probar es que el manejo de single / dualpane funcione correctamente .

Así que básicamente se reduce a:

  • Pequeño dispositivo y retrato -> solo panel
  • Dispositivo grande & langscape -> doble panel

Como el código para el ejemplo es en línea (y como es una plantilla estándar en Android-Studio) no voy a copiar aquí de nuevo. Sólo una cosa: Al iniciar la actividad determina si su panel único o dual verificando:

if (findViewById(R.id.exercise_detail_container) != null) [..] 

Parece que para Robolectric su siempre dualpane.

Así que mi prueba singlepane es bastante sencillo:

 @Config(emulateSdk = 18) @RunWith(RobolectricTestRunner.class) public class SinglePaneTest { private ExerciseListActivity activity; private FragmentManager fragmentManager; @Before @Config(qualifiers = "port-small") public void setup() { this.activity = Robolectric.buildActivity(ExerciseListActivity.class).create().resume().get(); this.fragmentManager = activity.getFragmentManager(); } @Test @Config(qualifiers = "port-small") public void testSinglePane() { assertNull(activity.findViewById(R.id.exercise_detail_container)); } } 

Pero la prueba falla.

¿Alguien me puede decir por qué? Esto debería estar funcionando perfectamente bien, ¿no?

Para que conste: Sí, en el emulador todo está funcionando bien.

Invertir orden: small-port No sé si se arreglará, pero es cierto que deben aparecer en el orden de la tabla: http://developer.android.com/guide/topics/resources/providing-resources. Html

Si utiliza varios calificadores para un directorio de recursos, debe agregarlos al nombre del directorio en el orden en que aparecen en la tabla.

El ejemplo de Robolectric apoya este ordenamiento:

Calificadores para la resolución de recursos, como "fr-normal-port-hdpi".

Esto parece ser arreglado con la versión 2.4 de robolectric!

  • Robolectric falla al inflar el archivo de diseño si hay una vista personalizada
  • Robolectric vs Android Test Framework
  • Cómo calcular la cobertura de la prueba con Robolectric
  • Cómo determinar la unidad de píxeles (px, dp, etc) de una vista en Java?
  • Recursos $ NotFoundException al ejecutar pruebas Roboeléctricas
  • Robolectric no inicia actividad en la orientación correcta
  • ¿Cómo puedo burlarme del contexto usando Mockito y Robolectric?
  • Robolectric 2.1 y Eclipse
  • Robolectric + PowerMock + Mockito no funciona
  • Junit testing con gradle para un proyecto android
  • Pruebas con Robolectric y ANT
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.