ホームページ > バックエンド開発 > C++ > C Cのテストカバレッジは、使用方法を教えてくれます。

C Cのテストカバレッジは、使用方法を教えてくれます。

Linda Hamilton
リリース: 2025-01-30 04:04:09
オリジナル
560 人が閲覧しました

ソフトウェアテストのカバレッジは、ソフトウェア開発において非常に重要です。このテストにより、ソフトウェアが予想どおりに実行されることが保証され、テストカバレッジは、2つのコードを補完する可能性をすべて確認します。多くの現代言語には、カバレッジのカバレッジを生成するライブラリまたはツールがありますが、C言語に「ネイティブ」ツールがあることをご存知ですか?

±42コードを返す簡単なコードから始めましょう:

<code class="language-c">#include <stdbool.h>

int return_42(bool ret_neg) {
  if (ret_neg)
    return -42;
  return 42;
}</code>
ログイン後にコピー

今では、簡単なテストファイルです:

<code class="language-c">#include <assert.h>
#include <stdbool.h>
#include <stdio.h>

int return_42(bool ret_neg);

int main() {
  assert(return_42(false) == 42);
  assert(return_42(true) == -42);
  puts("Nice");
  return 0;
}</code>
ログイン後にコピー

ここで、GCC/CCコンパイラと-fprofile-arcs-ftest-coverageを使用してコードをコンパイルできます。

これにより、実行可能ファイルと拡張名.gcnoを備えたファイルが生成されます。

これらのファイルを作成した後、テストを実行し、操作後に拡張機能.gcdaを備えたファイルを作成します。

これらの新しく作成されたファイルを使用して、GCOVツールを使用してそれらを処理し(GCOVを最初にインストールしてください)、GCOVを実行して

および.gcdaファイル名で渡すことができます(通常は.gcnoと同じ名前があります。ファイル、同じ名前、同じ名前のファイル、同じ名前のファイル、ファイル、同じ名前、ファイル、同じ名前、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイル、ファイルは同じです名前、ファイルですが、異なる場合があります)。これにより、拡張子.cを備えたファイルが生成されます。 GCOVはカバレッジに関する小さな要約を提供しますが、簡単なテスト以上のもの(たとえば、ライブラリに120を超えるテストがあります)では、結果をより直感的に表示する必要があります。 .gcov

次に、LCOV(LCOVを最初にインストールしてください)を使用し、

-c-d .を使用してLCOVを実行します。 というファイルを生成し、カバレッジのカバレッジを印刷します。残念ながら、この概要では、どの関数がチェックされているかは表示されませんが、作成された-o foobar.infoファイルを使用すると、LCOVを実行して、より読みやすいフォームの概要を印刷できます。ただし、まだ1パーセントしか得られず、どの線がチェックされているかを確認できないため、最後のステップを入力して、結果を視覚化しやすくします。 foobar.info .infogenhtmlを使用して-l foobar.info

マークを渡すだけです。 GenHTMLは、より読みやすいカバレッジを含むフォルダーを生成します(このHTMLファイルを自由に開くことができます。私の個人的なお気に入りの開く方法は

を使用することです)。 foobar.info -o bar_html python -m http.server -d bar_html

Cobertura de teste em C existe e vou te ensinar a usarClangを使用することもできますが、マークは変更されます。私はClangが好きではないので、最終結果は美しくないと感じていますが、私が試した限り、すべての機能をLLVMで実行する必要がありますLLVMツール。

最後に、Genhtmlには多くのカスタマイズされたマークがあります

Cobertura de teste em C existe e vou te ensinar a usar

Cobertura de teste em C existe e vou te ensinar a usarわかりました、今日はここにあります、次回も会いましょう!

以上がC Cのテストカバレッジは、使用方法を教えてくれます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート