Mi chiedo se è comunque necessario arrestare il valore di Build.Version.SDK_INT
? Supponiamo che io abbia le seguenti righe nel ClassUnderTest
:Valore di stub di Build.VERSION.SDK_INT in Test unità locale
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
//do work
}else{
//do another work
}
Come posso coprire tutto il codice?
Voglio dire che voglio eseguire due test con diversi SDK_INT per inserire entrambi i blocchi.
E 'possibile in Android test di unità locali utilizzando Mockito
/PowerMockito
?
Grazie
Questo non funzionerà perché getField() si aspetta il nome della variabile e Build.VERSION.SDK_INT è in realtà un valore. –
setFinalStatic (Build.VERSION.class.getField ("SDK_INT"), "123"); Se ciò non funziona, forse PowerMockito può essere mockito e simulare il campo statico. – toshkinl
Grazie! Lavorato! –