Zunächst einmal, was meinen Sie mit Unit-Test und Unit-Tests generieren?
Meinen Sie die Erstellung eines Frameworks, eines Test-Harness, oder meinen Sie die Erstellung eines Tests mit Daten und Datenüberprüfungen oder Assertions, der tatsächlich Ihren Code aufruft. Und in letzterem Fall, wie wird dieser Test generiert?
Noch grundsätzlicher: Warum testen Sie? Befolgen Sie eine Norm, die ein bestimmtes Maß an Tests vorschreibt, oder versuchen Sie "nur", Risiken und Kosten in späteren Entwicklungsphasen zu reduzieren? Oder vielleicht bauen Sie auf einem bestehenden System auf und wollen nur sicherstellen, dass Sie keine bestehenden Funktionen zerstören.
In einer früheren Antwort wurde Cantata erwähnt. Wir haben kürzlich eine neue Version mit einer Komponente namens "Baseline Testing" veröffentlicht. Dies könnte genau das sein, wonach Sie suchen. Es erstellt für C-Code eine Reihe von Unit-Tests, die Testfälle enthalten, die eine gute Chance haben, jede Ihrer Quelldateien vollständig zu testen. Das Tool erreicht dies, indem es Ihren Quellcode liest und eine Reihe von Tests erstellt, die die Ausführung auf jedem Pfad vorantreiben, um Ihr gewünschtes Abdeckungsziel zu erreichen - 100% Anweisungs-, Entscheidungs- oder sogar MC/DC-Abdeckung. Das Ziel ist es, Ihren Quellcode als Teil der laufenden Entwicklung eines Altsystems zu überprüfen oder Lücken in der Abdeckung nach funktionalen oder Systemtests zu schließen.
Siehe die Kantate++ Webseite für weitere Informationen (und kostenlose Bewertungen)