Я являюсь членом клуба робототехники моей средней школы и отвечаю за программирование робота. Одно предложение, которое я постоянно слышу от разных взрослых, заключается в том, что я должен писать модульные тесты, чтобы помочь подтвердить свой код. Кодовая база становится немного больше, и я согласен, что модульные тесты были бы очень полезны, чтобы помочь мне быстрее обнаруживать ошибки.
Тем не менее, я не совсем уверен, как я мог сделать это. Насколько мне известно, модульное тестирование выполняется путем взятия функции (или подсистемы кода) и подачи ей набора входных данных, чтобы убедиться, что он каждый раз выдает один и тот же результат. Код, который у меня есть в настоящее время, не выполняет каких-либо сложных операций с данными, а напрямую управляет аппаратными компонентами робота. Большая часть сложности заключается в том, чтобы убедиться, что электроника исправна, что код в данный момент соответствует фактическому оборудованию робота и т. Д. Часто я могу только видеть, есть ли проблема, загружая код в самого робота, и пытается запустить его.
Таким образом, как можно написать модульные тесты для кода, предназначенного для работы с любым механическим устройством? Мне кажется, что вы можете ловить ошибки, только наблюдая за работой машины.
Или я просто неправильно понимаю, как должны работать модульные тесты?
( Если это имеет значение, вот код , он написан на C ++, и я участвую в FRC )