(Unidad) Prueba de ArrayAdapter

Tengo el uso extenso de ArrayAdapter en mi app porque la mayoría de las actividades están sosteniendo un ListView y necesito algunas cosas de encargo en ellas.

He echado un vistazo a las clases de prueba en la documentación del desarrollador de Android, pero no fue capaz de encontrar algunos ejemplos o una clase de prueba adecuada …

1) ¿Hay alguna práctica recomendada para la prueba (de unidad) de ArrayAdapter en Android?

2) ¿Puedo haber escogido el enfoque equivocado (con los adaptadores) y haber matado la testabilidad de esta manera?

Usted puede escribir la prueba extendiendo AndroidTestCase Se verá algo como esto:

 public class ContactsAdapterTest extends AndroidTestCase { private ContactsAdapter mAdapter; private Contact mJohn; private Contact mJane; public ContactsAdapterTest() { super(); } protected void setUp() throws Exception { super.setUp(); ArrayList<Contact> data = new ArrayList<Contact>(); mJohn = new Contact("John", "+34123456789", "uri"); mJane = new Contact("Jane", "+34111222333", "uri"); data.add(mJohn); data.add(mJane); mAdapter = new ContactsAdapter(getContext(), data); } public void testGetItem() { assertEquals("John was expected.", mJohn.getName(), ((Contact) mAdapter.getItem(0)).getName()); } public void testGetItemId() { assertEquals("Wrong ID.", 0, mAdapter.getItemId(0)); } public void testGetCount() { assertEquals("Contacts amount incorrect.", 2, mAdapter.getCount()); } // I have 3 views on my adapter, name, number and photo public void testGetView() { View view = mAdapter.getView(0, null, null); TextView name = (TextView) view .findViewById(R.id.text_contact_name); TextView number = (TextView) view .findViewById(R.id.text_contact_number); ImageView photo = (ImageView) view .findViewById(R.id.image_contact_photo); //On this part you will have to test it with your own views/data assertNotNull("View is null. ", view); assertNotNull("Name TextView is null. ", name); assertNotNull("Number TextView is null. ", number); assertNotNull("Photo ImageView is null. ", photo); assertEquals("Names doesn't match.", mJohn.getName(), name.getText()); assertEquals("Numbers doesn't match.", mJohn.getNumber(), number.getText()); } } 

Probablemente tendrás que probar getView varias veces con diferentes argumentos, para probar todos los escenarios.

  • Prueba de la unidad Android - Problemas de resolución y verificación
  • Mono Android. Marco de pruebas unitarias
  • No se pudieron determinar las dependencias para todas las tareas con robolectric gradle plugin
  • Android Studio Unit Testing: incapaz de encontrar instrumentación O clase no encontrada ex
  • JUnit prueba para la aplicación de Android con fragmentos
  • ¿Cómo puedo probar el código de Android que tenga View Animators?
  • ¿Es posible inyectar simulacros para realizar pruebas con AndroidAnnotations?
  • ¿Cómo probar en robolectric si abrí un fragmento en el botón de clic?
  • Prueba de la clase de comunicación con DB a través de DAO de ORMLite
  • ¿Por qué AndroidTestCase.getContext (). GetApplicationContext () devuelve null?
  • Cómo ejecutar grupos de pruebas de unidad con gradle en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.