Witam,
mam pytanie o Unit testy, czy są one częścią pliku exe, czy jest to osobny projekty osobno uruchamiany, ale wykorzystujący te same biblioteki? Czy taka sama zasada testów jednostkowych jest na aplikacje desktopowe i wbudowane - wykorzystując crosscompilator ( na ARM - linux lub bez systemu ) ? Czy przy aplikacjach wbudowancyh jest inna zasada ( np. testy są wbudowane w aplikację, i uruchamiana przy każdym jej starcie ). Znacie jakieś wygodne sposoby aby pisać testy na mikrokontrolery ( stm, atmega ) i systemy wbudowane oparte na linuxie?
Unit testy powinny być osobno skompilowane, nie powinny dociażać aplikacji. Po kompilacji docelowej możesz zrobić testy funkcjonalne. Unit testy wykorzystują mocki / stuby /fake modelu aplikacji więc słabo pakować do execa dodatkowe klasy
Testy nie są częścią kodu produkcyjnego, bo nie ma to sensu.
Testy mają zweryfikować poprawność kodu produkcyjnego.
Zwykle jest to osobna dll-ka lub plik wykonalny uruchamiany w ramach procesu budowania projektu.
Zasady pisania DOBRYCH testów są dość skomplikowane.
Dzięki za odpowiedź : ) Czyli jeżeli chciałbym napisać testy na np. AVR, to mam dwa projekty, i automatycznie przed wgraniem programu powinny się wgrać testy, a następnie powinny one zostać zastąpione programem tak?
Zwykle nie ma sensu wgrywać testy na AVR.
Funkcjonalność AVR powinna być w testach zastąpiona Mock-ami, a testy uruchamiasz na swojej maszynce.
Dzięki temu można robić pełne i szybkie TDD.