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