Möchten Sie beim Schreiben von Tests für eine Software, z. B. eine Bibliothek, alle Komponententests zu einem einzigen kompilieren oder in mehrere ausführbare Dateien aufteilen?
Der Grund, den ich frage , ist, dass ich derzeit CUnit verwende , um eine Bibliothek zu testen, an der ich arbeite. Die Tests sind in separate Suites unterteilt, die zu einer ausführbaren Datei mit gedruckter Ausgabe für Fehler kompiliert werden. Das Build-System für diese Bibliothek ist CMake (das trotz seines Namens wenig mit CUnit zu tun hat), das mit seinem eigenen Testframework , CTest , geliefert wird . Mit CTest kann ich eine Liste der ausführbaren Dateien registrieren, die als Tests dienen.
Ich überlege, ob ich CTest für automatisierte Testläufe verwenden soll. Dazu müsste ich jedoch die Tests, die ich bisher geschrieben habe, in separate Kompilierungsziele aufteilen. Ansonsten kann ich einige der erweiterten Funktionen von CTests nicht wirklich nutzen, z. B. das selektive Ausführen von Tests.
Mir ist klar, dass dies eher eine Frage der zu verwendenden Tools und ihrer Handhabung und Konventionen ist, aber gibt es ansonsten noch andere Gründe, einen einzelnen ausführbaren Test einem separaten vorzuziehen? Oder umgekehrt?