Ho trovato questo example dove hanno usato PowerMock e EasyMock per stub/mock le classi Menu e MenuItem per Android. Ho provato a fare qualcosa di simile con PowerMock e Mockito con la classe Activity.Tentativo di interrompere la classe di attività Android mediante PowerMockito genera RuntimeException "Stub!"
Comprendo che molti metodi sono definitivi e che in Android.jar vengono tutti visualizzati solo RuntimeException ("Stub!").
Capisco anche che questo test non è completo ma voglio solo vedere se è possibile prendere in giro la classe di attività Android.
Ma dato che PowerMock ti permette di prendere lezioni con i metodi finali, questo codice non dovrebbe funzionare?
@RunWith(PowerMockRunner.class)
@PrepareForTest(Activity.class)
public class MyTestCase extends TestCase {
public void testPlease_JustWork() throws Exception {
Activity mockActivity = PowerMockito.mock(Activity.class);
PowerMockito.when(mockActivity.getTitle()).thenReturn("Title");
}
}
Vorrei pensare che il RuntimeException non sarebbe più accadere e "Titolo" sarebbe tornato, ma getta ancora l'eccezione.
ho provato tutti i tipi di cose diverse come doReturn("Title").when(mockActivity).getTitle();
e suppress(constructor(Activity.class));
sto facendo qualcosa di sbagliato o è solo non è possibile?
Mi piacerebbe provarlo ... – bytebender
Nessun dado, puoi mostrarmi come sono le tue linee di importazione? – bytebender
ho caricato l'intero progetto eclipse su http://maik.0x2a.at/PowerMockTests.zip. Potrebbe essere necessario adattare il percorso a android.jar – crazymaik