Каков хороший способ тестирования методов onMeasure / onLayout / onDraw пользовательского представления?

Я просто написал пользовательский класс View, который, среди прочего, позволяет разработчику легко устанавливать границы (например, setBorderWidth , setBorderColor , setBorderWidthLeft и т. Д.). Я сделал это, переопределив onMeasure / onDraw и я хочу проверить, что View правильно рисует эти границы.

В идеале я хочу что-то на более высоком уровне, чем единичный тест: в основном я хочу обеспечить, чтобы, если я устанавливаю границы, они рисуются как ожидалось; Если я их не установлю, они не нарисованы; Если я их изменю, новые границы будут нарисованы, а старые уже не будут видны. Это позволяет мне знать, что мой взгляд работает на высоком уровне.

Вещи, которые я рассмотрел:

  1. Взяв взгляд в изоляции с Robolectric и вызывая onDraw вручную с помощью макета Canvas (не проверяет недействительность, хотя)
  2. Создание тестового примера Activity и как-то сохранение скриншота Activity и анализ его программным способом.

Ни один из них не кажется мне большим, но я склоняюсь к 2). Любые другие идеи?

Для тестирования onDraw , onLayout и onMeasure скриншоты-тесты-для-андроида являются значительным вариантом.