1. 테스트가 되는 타겟의 빌드 세팅을 변경한다.

Other Linker Flags: add "-lgcov"

GCC_GENERATE_TEST_COVERAGE_FILES: Set to YES (안해도 작동됨)

GCC_INSTRUMENT_PROGRAM_FLOW_ARCS: Set to YES (안해도 작동됨)

C/C++ Compiler Version: GCC 4.2 (if you are on XCode 4) iOS deployment target: 4.2 (LLVM은 작동안됨)

Precompile prefix header: NO (안해도 작동됨)


2. 별도의 테스트 타켓은 build phases 부분의 Compliler Flags에 속성값을 입력한다..

-fprofile-arcs -ftest-coverage


3. objective c의 gcovr의 버전은 현재(2011.06) 2.0 에서 정상 동작한다. 만약 제대로 실행이 안될경우 버전을 확인하도록함 (2.1버전에서 작동안함)

gcovr --version


4. 아래의 스크립트로 정상 동작하는지 확인

xcodebuild -configuration Debug -target <타겟명> -sdk iphonesimulator
<gcovr설치된 경로>/gcovr -r <프로젝트 경로>/ -x


gcovr는 xcodebuild를 통해 생성된 build 내 gcda파일을 분석하는 방식이다. 즉 첫번째로 xcodebuild를 통해 gcda파일이 제대로 생성되었는지 확인 후 gcda가 생성되었다면 gcovr를 통해 분석이 될텐데 제대로 결과값이 안나오게 되면 gcovr의 문제일 가능성이 크다

+ Recent posts