estoy tratando de encontrar una manera para que mis pruebas de instrumentación para tener acceso a recursos de cadena generadas dentro del paquete de prueba.recursos de pruebas de instrumentación Acceso
Más detalles:
que tienen un caso de prueba de Android que hereda de ActivityInstrumentationTestCase2. Utilicé el nuevo Android Test Project de Eclipse para crear la prueba en primer lugar. El proyecto de prueba tiene recursos (similares a los recursos para un proyecto regular de Android). Estoy tratando de encontrar una forma de acceder mediante programación a los recursos de cadena en el proyecto de prueba en las diversas pruebas individuales. He tratado:
String s = getInstrumentation().getContext().getString(R.string.blah);
y
String s = mActivity.getApplicationContext().getString(R.string.blah);
Ambos métodos arrojan un NotFoundException. Tengo la cadena "blah" definida en mi strings.xml. R en el código anterior es una importación de mi paquete de prueba y no del paquete de la aplicación bajo prueba. Puedo acceder a los recursos definidos en el paquete de la aplicación con la última llamada.
Sería útil encontrar una forma de acceder a los recursos de cadenas XML definidos en mis pruebas (ya que quiero evitar escribir cadenas en el código). ¿Qué estoy haciendo mal?
El "getTargetContext()" en lugar de "getContext()" hizo el truco :-) (¿y el póster puede marcar una respuesta como "aceptado"?) – Christine
En la versión 0.5 del corredor de prueba (de soporte), el método getInstrumentation() se elimina. Use InstrumentationRegistry.getTargetContext() en su lugar, para obtener el contexto. – Metallica