Quando scrivi test per un software, ad esempio una libreria, preferisci compilare tutti i test unitari in uno o separarli in più eseguibili?
Il motivo per cui lo sto chiedendo è perché attualmente sto usando CUnit per testare una libreria su cui sto lavorando. I test sono suddivisi in suite separate che vengono compilate in un eseguibile completo di output stampato per errori. Ora, il sistema di compilazione per quella libreria è CMake (che, nonostante il suo nome, ha poco a che fare con CUnit), che viene fornito con il suo framework di test, CTest . CTest mi consente di registrare un elenco di file eseguibili che fungono da test.
Sto meditando se usare CTest per le prove automatizzate. Tuttavia, questo richiederebbe di dividere i test che ho scritto finora in target di compilazione separati. Altrimenti, non posso davvero utilizzare alcune delle funzionalità avanzate di CTest, come l'esecuzione selettiva dei test.
Mi rendo conto che si tratta più di una questione di quali strumenti utilizzare e della loro gestione e convenzioni, ma a parte questo, ci sono altri motivi per preferire un singolo test eseguibile rispetto a quelli separati? O vice versa?