5

lcovを使用して、Cコードベースのコードカバレッジレポートを生成しています。テストの説明を最終出力に統合したいと思います(lcovのgendescユーティリティを使用)。

しかし、私にはそれを行う方法についての手がかりがなく、gendescに関するドキュメントはかなりまばらに見えます(古き良きグーグルが私に教えてくれた限り)。

LTPのgendesc情報は、入力テストケース記述ファイルを作成する方法を説明しています(genhtmlで期待されるとおり)。そして、genhtml info--show-descriptions--description-fileそのようなテストケース記述ファイルを入力するために提供します。

ただし、テストケースを参照して最終レポートに含める方法がわかりません。genhtmlはそれらを未使用のテストケースと見なし、生成されたhtml出力から除外します。を使用することはできます--keep-descriptionsが、実行されたテストケースがわかりません(明らかに、コードからテストの説明への参照方法がわからないためです)。

では、最終出力で実行されたテストをlcov /genhtmlにどのように伝えるのでしょうか。何か案は?

4

1 に答える 1

10

テストケース名をカバレッジデータに関連付けるには、lcovの--test-nameオプションを使用してカバレッジデータを収集するときに、その名前を指定します。

lcov --capture --directory project-dir --output-file coverage.info --test-name "test01"

次に、すでに説明した手順を続行します。つまり、テストケース記述ファイル「tests.txt」を作成します。

test01
    Some test

genhtmlで期待される形式に変換します。

gendesc tests.txt --output-filename tests.desc

最後に、説明ファイルをgenhtmlに指定します。

genhtml coverage.info --output-directory out --description-file tests.desc --show-details
于 2012-10-12T14:09:53.600 に答える