Otra forma de acceder contexto de JUnit sin extenderAndroidTestCase
es utilizar Rule
para poner en marcha una actividad que se está probando. Las reglas son interceptores que se ejecutan para cada método de prueba y se ejecutarán antes que cualquiera de su código de configuración en el método @Before
. Las reglas se presentaron como un reemplazo para el ActivityInstrumentationTestCase2
.
@RunWith(AndroidJUnit4.class)
@SmallTest
public class ConnectivityTest {
@Rule
public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class);
@Test
public void testIsConnected() throws Exception {
Context context = mActivityRule.getActivity().getBaseContext();
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
boolean connected = cm.getActiveNetworkInfo().isConnectedOrConnecting();
Assert.assertEquals(connected, ConnectionUtils.isConnected(context));
}
}
ah, Sory Soy la prueba JUnit aquí - pregunta actualizada – jax
Luego use el método getActivity(). http://developer.android.com/reference/android/test/ActivityInstrumentationTestCase2.html#getActivity() – ognian