6

Ho appena scritto una classe di visualizzazione personalizzata che, tra le altre cose, consente a uno sviluppatore di impostare facilmente i bordi (ad esempio setBorderWidth, setBorderColor, setBorderWidthLeft, ecc.). L'ho fatto ignorando onMeasure/onDraw e voglio verificare che la Vista disegna correttamente questi bordi.Qual è un buon modo per testare i metodi onMeasure/onLayout/onDraw di una vista personalizzata?

Idealmente, voglio qualcosa a un livello più alto di un test di unità: in pratica voglio applicare che se imposto i bordi, vengono disegnati come previsto; se non li metto non vengono disegnati; se li cambio, i nuovi bordi sono disegnati e quelli vecchi non sono più visibili. Questo mi consente di sapere che il mio punto di vista sta funzionando a un livello elevato.

cose che ho considerato:

  1. Ritenendo in isolamento con Robolectric e chiamare OnDraw manualmente con una tela finto (non testare invalidazione però)
  2. Fare una banco di prova di attività e in qualche modo il risparmio uno screenshot dell'attività e analizzandolo a livello di programmazione.

Nessuno di questi mi sembra ottimo, ma mi sto inclinando verso 2). Altre idee?

risposta

Problemi correlati