Jestem członkiem klubu robotyki w mojej szkole średniej i jestem odpowiedzialny za programowanie robota. Jedną z sugestii, które wciąż słyszę od różnych dorosłych, jest to, że powinienem pisać testy jednostkowe, aby pomóc w sprawdzeniu poprawności mojego kodu. Baza kodu staje się trochę duża i zgadzam się, że testy jednostkowe byłyby bardzo pomocne w szybszym wykrywaniu błędów.
Nie jestem jednak do końca pewien, jak to osiągnąć. Według mojej najlepszej wiedzy, testowanie jednostkowe odbywa się poprzez pobranie funkcji (lub podsystemu kodu) i dostarczenie jej zestawu danych wejściowych, aby upewnić się, że za każdym razem wychodzi z tym samym wyjściem. Kod, który obecnie posiadam, nie powoduje poważnych awarii danych, a raczej bezpośrednio manipuluje elementami sprzętowymi robota. Większość złożoności wynika z upewnienia się, że elektronika jest sprawna, że kod w tej chwili odpowiada rzeczywistemu sprzętowi robota itp. Często widzę tylko problem z załadowaniem kodu do samego robota, i próba uruchomienia.
Jak można napisać testy jednostkowe kodu, który ma obsługiwać dowolne urządzenie mechaniczne? Wydaje mi się, że błędy można wychwycić tylko fizycznie obserwując działanie maszyny.
A może po prostu nie rozumiem, jak powinny działać testy jednostkowe?
( Jeśli to ma znaczenie, oto kod , jest napisany w C ++, a ja uczestniczę we FRC )