Трудно написать определенные модульные тесты для чего-то визуального подобного, если вы действительно не понимаете точную последовательность вызовов API, которые будут созданы.
Чтобы проверить что-то «визуальное», как это, у вас есть три части.
«Шип», чтобы получить правильный внешний вид, масштабирование, цвета и все такое. В некоторых случаях это почти все приложение.
«ручной» тест на то, что создает некоторые окончательные изображения, чтобы быть уверенными, что они выглядят правильно для чьего-либо глаза. Нет простого способа проверить это, за исключением фактического просмотра фактического вывода. Это сложно автоматизировать.
Откажитесь от графических компонентов, чтобы убедиться, что ваше приложение правильно называет графические компоненты.
Когда вы вносите изменения, вам нужно запустить оба теста: правильно ли API-интерфейс? И вызывает ли эта последовательность вызовов API изображение, которое выглядит правильно?
Вы можете - если хотите действительно разбить ячейку мозга - попробуйте создать PNG-файл из вашей графики и протестируйте, чтобы посмотреть, правильно ли выглядит файл PNG. Это вряд ли стоит усилий.
По мере продвижения вперед ваши требования могут измениться. В этом случае вам, возможно, придется сначала переписать шип и заставить вещи выглядеть правильно. Затем вы можете вывести последовательность вызовов API для создания автоматических модульных тестов из всплеска.
Можно утверждать, что создание всплеска нарушает TDD. Однако шип предназначен для создания тестового графического модуля. Вы не можете легко написать тестовые примеры, потому что процедура тестирования «покажет это человеку». Он не может быть автоматизирован.
Что вы подразумеваете под шипом? – geejay
Спайк http://www.extremeprogramming.org/rules/spike.html –