Sono appena iniziato con TDD e sono curioso di sapere quali approcci gli altri prendono per eseguire i loro test. Per riferimento, sto usando il framework di test di google, ma credo che la domanda sia applicabile alla maggior parte degli altri framework di testing e alle lingue diverse da C/C++.Come si eseguono i test unitari? Bandiere del compilatore? Librerie statiche?
mio approccio generale finora è stato di fare una delle tre cose:
Scrivi la maggior parte delle applicazioni in una libreria statica, quindi creare due file eseguibili. Un eseguibile è l'applicazione stessa, mentre l'altro è il test runner con tutti i test. Entrambi collegano alla libreria statica.
Incorporare il codice di test direttamente nell'applicazione stessa e abilitare o disabilitare il codice di test utilizzando i flag del compilatore. Questo è probabilmente l'approccio migliore che ho usato finora, ma riordina un po 'il codice.
Incorporare il codice di test direttamente nell'applicazione stessa e, in base a determinati parametri della riga di comando, eseguire l'applicazione stessa o eseguire i test incorporati nell'applicazione.
Nessuna di queste soluzioni sono particolarmente eleganti ...
Come si fatto?
Il consenso sembra essere che # 1 è il migliore. Questo non sembra essere elegante come potrebbe essere. Immagino che se voglio l'eleganza dovrei passare a un linguaggio di scripting. : p – kurige