Кто-то любит пирожки, а кто-то - нет.
Чем мне нравится код, управляемый событиями, так это тем, что он позволяет его потестировать в автоматическом режиме. Код не знает, кто генерирует событие (нажатие кнопки или кручение энкодера), да и не важно ему это.
И никто не запрещает сделать тест, который эмулировал бы нужную последовательность действий пользователя/системы или целый ряд их вариантов, чтобы посмотреть, как устройство отреагирует.

Есть прибор, например, часы, с кнопками настройки: «Режим настройки», «+», «-», «Ок». Есть обработчик нажатия кнопки какой-либо:


И надо бы проверить, что настройка выполняется корректно. Что если мы жамкнем кнопку программирования, потом пощёлкаем кнопочками плюс или минус, применим изменения и проверим, получили ли ожидаемый результат. Или там пожамкаем без режима настройки, и убедимся, что ничего при этом не поменялось. Вручную всё это прогонять может быть лень. Или при разработке устройства временно может не быть кнопочек (не успели сделать панель управления), а код писать всё же как-то надо. Или код вручную проверить весьма затруднительно, там, например, обработка какого-нибудь хитрого пакета от недоступного в данный момент устройства.
Мало ли может быть причин это сделать.

читать дальше

@темы: мии, программизмы, тестирование