Трудно написать определенные модульные тесты для чего-то вроде этого, если вы действительно не понимаете точную последовательность вызовов API, которые будут построены.
Чтобы проверить что-то «визуальное», подобное этому, у вас есть три части.
"Шип", чтобы получить правильный внешний вид, масштабирование, цвета и все такое. В некоторых случаях это почти все приложение.
«Ручной» тест, который создает некоторые окончательные изображения, чтобы убедиться, что они выглядят правильно для чьего-либо глаза. Нет простого способа проверить это, кроме как посмотреть на фактический результат. Это сложно автоматизировать.
Смоделируйте графические компоненты, чтобы убедиться, что ваше приложение вызывает графические компоненты правильно.
При внесении изменений необходимо выполнить оба теста: все ли вызовы API верны? и создает ли эта последовательность вызовов API изображение, которое выглядит правильно?
Вы можете - если вы действительно хотите разорвать мозговую клетку - попытаться создать файл PNG из вашей графики и проверить, правильно ли выглядит файл PNG. Это вряд ли стоит усилий.
По мере продвижения вперед ваши требования могут измениться. В этом случае вам, возможно, придется сначала переписать спайк, чтобы все выглядело правильно. Затем вы можете извлечь последовательность вызовов API для создания автоматических модульных тестов из всплеска.
Можно утверждать, что создание шипа нарушает TDD. Тем не менее, шип предназначен для создания тестируемого графического модуля. Вы не можете легко написать тестовые случаи в первую очередь, потому что процедура теста «показать это человеку». Это не может быть автоматизировано.