GoogleTest + CMake로 C++의 실용적인 단위 테스트 환경 구축 : 그 2 (커버리지 표시)
5397 단어 CMakegcovlcovgoogletest단위 테스트
배경과 목적
지난번 다음 기사입니다.
아래에 해당합니다.
배경과 목적
지난번 은 단위 테스트 실행 환경을 구축하는 것만으로 끝났지만, 그 외에도
HTML 커버리지 보고서를 출력할 수 있습니다.
샘플 코드
본 기사는 최소한의 샘플 코드를 따라가면 목적을 달성할 수 있게 되어 있습니다.
그렇다고 해도 코드 쪽에 자세한 코멘트를 기술하고 있는 것은 아니기 때문에, 간단하게 해설을 아래에 기술합니다.
샘플 코드는 여기
시험 환경
$ mkdir ~/tmp
$ wget https://github.com/linux-test-project/lcov/releases/download/v1.12/lcov-1.12.tar.gz -O ~/tmp/lcov-1.12.tar.gz
$ tar xfz ~/tmp/lcov-1.12.tar.gz -C ~/tmp/
$ cd ~/tmp/lcov-1.12
$ sudo make install
해설
지난번 과의 차이를 설명합니다.
test/CMakeList.txt
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") # 追加
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") # 追加
set(MY_SRCS_MINUS_MAIN ${MY_SRCS})
list(REMOVE_ITEM MY_SRCS_MINUS_MAIN ${PROJECT_SOURCE_DIR}/src/main.cpp)
# [以下、省略]
runtest.sh
# run test to output gcov files
cd build/test
./UnitTestExecutor
# make coverage data
cd CMakeFiles/UnitTestExecutor.dir
lcov -d . -c -o coverage.info
# remove unnecessary file paths
lcov -r coverage.info */googletest/* test/* */c++/* -o coverageFiltered.info
# make html report
genhtml -o lcovHtml --num-spaces 4 -s --legend coverageFiltered.info
$ ./runtest.sh
참고 사이트
Reference
이 문제에 관하여(GoogleTest + CMake로 C++의 실용적인 단위 테스트 환경 구축 : 그 2 (커버리지 표시)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/imasaaki/items/0021d1ef14660184f396텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)