Um die Qualität von UnitTests beurteilen zu können, werden häufig Abdeckungs- oder Überdeckungstests (von engl. coverage) durchgeführt. Selbst bei streng testgetriebener Entwicklung kann eine Coverage Analyse hilfreich sein, da gezeigt werden kann, welches Quelltext von welchem Test wie abgedeckt wird. (Evtl. werden gleich mehrere Methoden durch einen Test abgedeckt…)
Der gcc benötigt die Option –coverage. Diese sorgt beim Bauen und Linken für die richtigen Einstellugnen. Siehe auch: GCC Manual, Debugging Options
Zunächst ist ein coverage build erforderlich. Oft muss dieser auch statisch sein. Wieso weiß ich nicht.
# reset counters lcov --zerocounters --directory . # run tests # testrun.. # collect data lcov --capture --directory . --output-file trace_noargs.info --test-name test_noargs # generate report genhtml trace_noargs.info --output-directory ~/tmp/output --title "Basic example" --show-details