翻譯|使用教程|編輯:李顯亮|2021-07-22 10:09:05.827|閱讀 310 次
概述:Parasoft C/C++test 附帶了 CMake 的擴(kuò)展,允許將 C/C++test 的代碼覆蓋率分析直接集成到 CMake 項(xiàng)目中。因此,在運(yùn)行檢測(cè)的應(yīng)用程序或執(zhí)行功能或單元測(cè)試后,將創(chuàng)建 C/C++ 測(cè)試覆蓋率日志文件。然后可以使用覆蓋率日志文件生成完整的代碼覆蓋率報(bào)告。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
Parasoft C/C++test針對(duì)C/C++開(kāi)發(fā)的專業(yè)白盒自動(dòng)化測(cè)試方案,能有效提高軟件開(kāi)發(fā)效率和代碼質(zhì)量。C++test 可以進(jìn)行靜態(tài)分析,全面代碼審查,運(yùn)行時(shí)錯(cuò)誤檢測(cè),并在單元測(cè)試和組件測(cè)試中集成覆蓋率分析。
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)行檢測(cè)的應(yīng)用程序或執(zhí)行功能或單元測(cè)試后,將創(chuàng)建 C/C++ 測(cè)試覆蓋率日志文件 (.clog)。然后可以使用覆蓋率日志文件生成完整的代碼覆蓋率報(bào)告。
對(duì) CMake 集成的支持包括:
此外,<CPPTEST_INSTALL_DIR>/examples/Timer目錄包括一個(gè)示例項(xiàng)目,用于演示收集CMake項(xiàng)目的代碼覆蓋率。
復(fù)制到您的 CMake 項(xiàng)目。 <CPPTEST_INSTALL_DIR>/integration/cmake/cpptest-coverage.cmake
查看文件中的覆蓋配置詳細(xì)信息并根據(jù)需要更新選項(xiàng)。至少,必須確保使用該選項(xiàng)指定的編譯器配置與您的編譯器相匹配。有關(guān)可用選項(xiàng),請(qǐng)參閱自定義 CMake 的 Coverage Extension。 cpptest-coverage.cmake CPPTEST_COMPILER_ID
將cpptest-coverage.cmake擴(kuò)展包含到您的主 CMakeLists.txt構(gòu)建文件中。擴(kuò)展必須在所有構(gòu)建目標(biāo)定義之前,以確保自動(dòng)修改編譯器/鏈接器命令行。
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
運(yùn)行您的應(yīng)用程序或執(zhí)行您的功能或單元測(cè)試。
默認(rèn)情況下,C/C++test 覆蓋率日志文件 ( .clog ) 將在.clog中創(chuàng)建 <CMAKE_BINARY_DIR>/cpptest-coverage/<CMAKE_PROJECT_NAME>/<CMAKE_PROJECT_NAME>.clog。
運(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與覆蓋測(cè)試配置和.clog文件作為輸入:
> cd <CMAKE_BINARY_DIR>/cpptest-coverage/<CMAKE_PROJECT_NAME>
> cpptestcli -config "builtin://Coverage" -input <CMAKE_PROJECT_NAME>.clog
|
要使用 C/C++test 擴(kuò)展自定義收集覆蓋率,請(qǐng)打開(kāi)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)行檢測(cè)的應(yīng)用程序之前,您必須確保覆蓋日志目錄存在。 |
<CPPTEST_COVERAGE_WORKSPACE>/<CMAKE_PROJECT_NAME>.clog |
CPPTEST_CPPTESTCC_OPTS | 指定cpptestcc覆蓋工具的選項(xiàng) 。 |
|
此外,您可能需要查看:
本節(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)目的覆蓋率:
構(gòu)建示例項(xiàng)目:
> cd <CPPTEST_INSTALL_DIR>/examples/Timer
> mkdir build
> cd build
> cmake -DCPPTEST_COVERAGE=ON -DCPPTEST_HOME=<CPPTEST_INSTALL_DIR> ..
> make
|
運(yùn)行應(yīng)用程序:
> ./timer
|
生成覆蓋率報(bào)告:
> make cpptest_coverage_report
|
報(bào)告將在<CPPTEST_INSTALL_DIR>/examples/Timer/build/cpptest-coverage/Timer/reports.
Parasoft是一家專門提供軟件測(cè)試解決方案的公司,幫助企業(yè)打造無(wú)缺陷的軟件。
從開(kāi)發(fā)到質(zhì)量檢查,Parasoft的技術(shù)通過(guò)集成靜態(tài)和運(yùn)行時(shí)分析,單元、功能和API測(cè)試,以及服務(wù)虛擬化,在不犧牲質(zhì)量和安全性的情況下加快軟件交付,節(jié)約交付成本。
強(qiáng)大的報(bào)告和分析功能可幫助用戶快速查明有風(fēng)險(xiǎn)的代碼區(qū)域,并了解新代碼更改如何影響其軟件質(zhì)量,而突破性的技術(shù)將人工智能和機(jī)器學(xué)習(xí)添加到軟件測(cè)試中,使組織更容易采用和擴(kuò)展跨開(kāi)發(fā)和測(cè)試團(tuán)隊(duì)的有效的軟件測(cè)試實(shí)踐。
Parasoft針對(duì)C/C++、Java、.NET和嵌入式的開(kāi)發(fā)測(cè)試都有著30多年的深入研究,很多全國(guó)500強(qiáng)企業(yè)使用Parasoft的產(chǎn)品實(shí)現(xiàn)了軟件快速、高質(zhì)量的交付。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn