En la unidad de pruebas de Android, cuándo utilizar los casos de prueba?

Estoy un poco perplejo por las pruebas en android.

Sé que hay dos tipos de pruebas unitarias:

1.local tests: se ejecutan en JVM local, almacenados en app/src/test/java

2.instrument tests: ejecutar en el sistema android, almacenado en app/src/androidTest/java , anotado con @RunWith(AndroidJUnit4.class)

Las mencionadas 2 clases no están extendiendo TestCase y digamos que este es el enfoque A en la prueba unitaria.

Y luego veo casos de prueba que son subclases de TestCase, y se colocan junto a código fuente (en un paquete separado llamado xxx.test). Digamos que este es el enfoque B.

Me parece que lo que uno quiere en el uso de TestCases (enfoque B), por ejemplo, la confirmación del texto en un TextView se puede lograr en instrumento de prueba + Espresso (enfoque A).

Así que quiero saber cuándo debo usar pruebas locales / pruebas de instrumento (enfoque A) y cuándo debo usar subclases TestCases (enfoque B) ??

Gracias de antemano ~~

PS: El uso de Android Test Framework, mientras que este hilo explica los usos de diferentes subclases TestCase que es como explicar los sub-enfoques en mi enfoque B, no responde a mi pregunta.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.