Sto iniziando a scrivere codice C ++ per far funzionare un robot, e non so come incorporare i test di unità, se davvero posso. Mi è stata fornita una libreria che consente la creazione di "comandi" per il robot, che sono automaticamente programmati ed eseguiti. Il meccanismo per creare questi comandi consiste nel sottoclasse una classe di base di comandi che forniscono e implementa metodi virtuali void Initialize()
, void Execute()
e void End()
. Queste funzioni vengono eseguite esclusivamente per i loro effetti collaterali, che fanno cose al robot (far funzionare i motori, estendere i pistoni, ecc.). Per questo motivo, in realtà non vedo da nessuna parte collegare i test unitari al codice, a meno di deridere l'intera libreria in modo da poter controllare gli stati virtuali prima e dopo del robot. C'è un modo per testare ciò che non è eccessivamente oneroso?
Modifica
Penso che possa essere stato fuorviante sulla funzionalità della libreria. La libreria fornisce la maggior parte dell'interfaccia per il robot e il sistema di comando / programmazione, quindi non è così semplice come il mocking della classe base di comando, dovrei prendere in giro l'intera interfaccia con l'hardware. Sfortunatamente non ho il tempo per farlo.