Sou membro do clube de robótica da minha escola e sou responsável pela programação do robô. Uma sugestão que continuo ouvindo de vários adultos é que eu deveria escrever testes de unidade para ajudar a validar meu código. A base de código está ficando um pouco grande, e eu concordo que os testes de unidade seriam realmente úteis para me ajudar a detectar erros mais rapidamente.
No entanto, não tenho muita certeza de como conseguir isso. De acordo com o meu conhecimento, o teste de unidade é realizado usando uma função (ou um subsistema do código) e alimentando-o com um conjunto de entradas para garantir que ele saia com a mesma saída a cada vez. O código que eu tenho atualmente não faz nenhum processamento pesado de dados, mas manipula diretamente os componentes de hardware no robô. A maior parte da complexidade vem de garantir que os componentes eletrônicos sejam sólidos, que o código no momento corresponda ao hardware real do robô etc. Muitas vezes, só consigo ver se há algum problema carregando o código no próprio robô, e tentando executá-lo.
Por extensão, como os testes de unidade podem ser escritos para códigos destinados a operar qualquer dispositivo mecânico? Parece-me que você só pode detectar erros observando fisicamente o funcionamento da máquina.
Ou estou apenas entendendo mal como os testes de unidade devem funcionar?
( Se importa, aqui está o código , está escrito em C ++ e estou participando do FRC )