• <menu id="w2i4a"></menu>
  • logo Parasoft C/C++ test 自動(dòng)化用戶指南

    文檔首頁>>Parasoft C/C++ test 自動(dòng)化用戶指南>>Parasoft C/C++ test 自動(dòng)化用戶指南(二十二):收集CMake項(xiàng)目的應(yīng)用覆蓋率

    Parasoft C/C++ test 自動(dòng)化用戶指南(二十二):收集CMake項(xiàng)目的應(yīng)用覆蓋率


    Parasoft C/C++test針對(duì)C/C++開發(fā)的專業(yè)白盒自動(dòng)化測試方案,能有效提高軟件開發(fā)效率和代碼質(zhì)量。C++test 可以進(jìn)行靜態(tài)分析,全面代碼審查,運(yùn)行時(shí)錯(cuò)誤檢測,并在單元測試和組件測試中集成覆蓋率分析。

    Parasoft C/C++test申請(qǐng)免費(fèi)試用


    Parasoft C/C++test 附帶了 CMake 的擴(kuò)展,允許您將 C/C++test 的代碼覆蓋率分析直接集成到您的 CMake 項(xiàng)目中。該擴(kuò)展會(huì)cpptestcc在構(gòu)建項(xiàng)目時(shí)自動(dòng)修改編譯器/鏈接器命令行以使用覆蓋工具。因此,在您運(yùn)行檢測的應(yīng)用程序或執(zhí)行功能或單元測試后,將創(chuàng)建 C/C++ 測試覆蓋率日志文件 (.clog)。然后可以使用覆蓋率日志文件生成完整的代碼覆蓋率報(bào)告。

    對(duì) CMake 集成的支持包括:

    • <CPPTEST_INSTALL_DIR>/integration/cmake/cpptest-coverage.cmake擴(kuò)展 - 你需要添加到CMakeFiles.txt構(gòu)建文件中的CMake的C/C++test擴(kuò)展文件。
    • CPPTEST_COVERAGE=ON 和 CPPTEST_HOME=<CPPTEST_INSTALL_DIR> 選項(xiàng) - 擴(kuò)展提供的選項(xiàng),用于在用 CMake 構(gòu)建應(yīng)用程序時(shí)激活該擴(kuò)展。
    • cpptest_coverage_report目標(biāo) - 擴(kuò)展提供的目標(biāo),用于使用.clog文件作為輸入生成覆蓋率報(bào)告。

    此外,<CPPTEST_INSTALL_DIR>/examples/Timer目錄包括一個(gè)示例項(xiàng)目,用于演示收集CMake項(xiàng)目的代碼覆蓋率。

    工作流程概述

    1. 復(fù)制到您的 CMake 項(xiàng)目。 <CPPTEST_INSTALL_DIR>/integration/cmake/cpptest-coverage.cmake 

    2. 查看文件中的覆蓋配置詳細(xì)信息并根據(jù)需要更新選項(xiàng)。至少,必須確保使用該選項(xiàng)指定的編譯器配置與您的編譯器相匹配。有關(guān)可用選項(xiàng),請(qǐng)參閱自定義 CMake 的 Coverage Extension。 cpptest-coverage.cmake  CPPTEST_COMPILER_ID

    3. cpptest-coverage.cmake擴(kuò)展包含到您的主 CMakeLists.txt構(gòu)建文件中。擴(kuò)展必須在所有構(gòu)建目標(biāo)定義之前,以確保自動(dòng)修改編譯器/鏈接器命令行。

    4. CPPTEST_COVERAGE and CPPTEST_HOME在配置和構(gòu)建 CMake 項(xiàng)目時(shí)使用選項(xiàng)激活擴(kuò)展

      > cmake -DCPPTEST_COVERAGE=ON -DCPPTEST_HOME=<CPPTEST_INSTALL_DIR> ..

      默認(rèn)情況下,C/C++test 的覆蓋率數(shù)據(jù)文件將在. <CMAKE_BINARY_DIR>/cpptest-coverage/<CMAKE_PROJECT_NAME>/.cpptest

    5. 運(yùn)行您的應(yīng)用程序或執(zhí)行您的功能或單元測試。
      默認(rèn)情況下,C/C++test 覆蓋率日志文件 ( .clog ) 將在.clog中創(chuàng)建 <CMAKE_BINARY_DIR>/cpptest-coverage/<CMAKE_PROJECT_NAME>/<CMAKE_PROJECT_NAME>.clog。

    6. 運(yùn)行helper 目標(biāo)以生成覆蓋率報(bào)告: cpptest_coverage_report 

      > make cpptest_coverage_report

      覆蓋率報(bào)告將在以下位置生成:<CMAKE_BINARY_DIR>/cpptest-coverage/<CMAKE_PROJECT_NAME>/reports.

      我們建議使用cpptest_coverage_report目標(biāo)生成覆蓋率報(bào)告。另外,您也可以使用cpptestcli覆蓋測試配置和.clog文件作為輸入

      > cd <CMAKE_BINARY_DIR>/cpptest-coverage/<CMAKE_PROJECT_NAME>
      > cpptestcli -config "builtin://Coverage" -input <CMAKE_PROJECT_NAME>.clog

    自定義 CMake 的 Coverage Extension

    要使用 C/C++test 擴(kuò)展自定義收集覆蓋率,請(qǐng)打開cpptest-coverage.cmake 您復(fù)制到 CMake 項(xiàng)目文件并修改 C/C++test 選項(xiàng)。 

    選項(xiàng)名稱
    描述
    默認(rèn)
    CPPTEST_COMPILER_ID

    指定與您的編譯器匹配的編譯器配置。

    gcc_9-64
     CPPTEST_COVERAGE_TYPE_FLAGS  指定覆蓋類型。有關(guān)可用選項(xiàng),請(qǐng)參閱 cpptestcc 的命令行參考 -優(yōu)化線覆蓋
    CPPTEST_COVERAGE_WORKSPACE 指定覆蓋工具的工作空間路徑,默認(rèn)情況下存儲(chǔ) C/C++test 的覆蓋數(shù)據(jù)文件。 <CMAKE_BINARY_DIR>/cpptest-coverage/<CMAKE_PROJECT_NAME>
    CPPTEST_COVERAGE_LOG_FILE

    指定 C/C++test 覆蓋率日志文件 ( .clog )的名稱和位置。

    重要提示:在運(yùn)行檢測的應(yīng)用程序之前,您必須確保覆蓋日志目錄存在。

    <CPPTEST_COVERAGE_WORKSPACE>/<CMAKE_PROJECT_NAME>.clog
    CPPTEST_CPPTESTCC_OPTS 指定cpptestcc覆蓋工具的選項(xiàng) 。

    此外,您可能需要查看:

    • cpptest_coverage_report目標(biāo)的定義,指定cpptestcli用于生成覆蓋率報(bào)告的參數(shù)。
    • # Build C/C++test coverage runtime library 部分,其中包括為C / C ++測試的運(yùn)行時(shí)庫配置(該庫自動(dòng)地被覆蓋擴(kuò)展構(gòu)建)。
    • CPPTEST_LINKER_FLAGS選項(xiàng),該選項(xiàng)定義了如何將C / C ++測試覆蓋運(yùn)行時(shí)將被鏈接。

    將 Coverage Extension 與 CMake 集成的示例

    本節(jié)演示如何使用 C/C++test 的 CMake 覆蓋擴(kuò)展為位于<CPPTEST_INSTALL_DIR>/examples/Timer 目錄中的示例項(xiàng)目收集覆蓋數(shù)據(jù)。定時(shí)器項(xiàng)目配置為使用cpptest-coverage.cmake附帶的擴(kuò)展<CPPTEST_INSTALL_DIR>/integration/cmake。

    要收集示例項(xiàng)目的覆蓋率:

    1. 如果您使用默認(rèn) GNU GCC 9 (x64) 以外的編譯器,請(qǐng)轉(zhuǎn)到<CPPTEST_INSTALL_DIR>/integration/cmake/cpptest-coverage.cmake并修改 的默認(rèn)值CPPTEST_COMPILER_ID以匹配您的編譯器。
    2. 構(gòu)建示例項(xiàng)目:

      > cd <CPPTEST_INSTALL_DIR>/examples/Timer
      > mkdir build
      > cd build
      > cmake -DCPPTEST_COVERAGE=ON -DCPPTEST_HOME=<CPPTEST_INSTALL_DIR> ..
      > make
    3. 運(yùn)行應(yīng)用程序:

      > ./timer
    4. 生成覆蓋率報(bào)告:

      > make cpptest_coverage_report

      報(bào)告將在<CPPTEST_INSTALL_DIR>/examples/Timer/build/cpptest-coverage/Timer/reports.


    Parasoft——領(lǐng)先的自動(dòng)化測試工具,滿足絕大多數(shù)行業(yè)標(biāo)準(zhǔn)

    Parasoft是一家專門提供軟件測試解決方案的公司,幫助企業(yè)打造無缺陷的軟件。

    從開發(fā)到質(zhì)量檢查,Parasoft的技術(shù)通過集成靜態(tài)和運(yùn)行時(shí)分析,單元、功能和API測試,以及服務(wù)虛擬化,在不犧牲質(zhì)量和安全性的情況下加快軟件交付,節(jié)約交付成本。

    強(qiáng)大的報(bào)告和分析功能可幫助用戶快速查明有風(fēng)險(xiǎn)的代碼區(qū)域,并了解新代碼更改如何影響其軟件質(zhì)量,而突破性的技術(shù)將人工智能和機(jī)器學(xué)習(xí)添加到軟件測試中,使組織更容易采用和擴(kuò)展跨開發(fā)和測試團(tuán)隊(duì)的有效的軟件測試實(shí)踐。

    Parasoft針對(duì)C/C++、Java、.NET和嵌入式的開發(fā)測試都有著30多年的深入研究,很多全國500強(qiáng)企業(yè)使用Parasoft的產(chǎn)品實(shí)現(xiàn)了軟件快速、高質(zhì)量的交付。

        獲取Parasoft資料或申請(qǐng)?jiān)囉每杉観Q:2867205852

    申請(qǐng)Parasoft測試試用

    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();