본문 바로가기
Programming/Visual Studio

How to create coverage file and convert to xml in command line

by 강철 벼룩 2019. 1. 29.

명령줄 유틸리티로 코드 검사 분석 결과 생성과 xml 변환하기

환경: Visual Studio 2017 Enterprise

sample(coverage and coveragexml).zip


코드 검사 분석 결과 파일 생성하기

Visual Studio에서 제공하는 명령 줄 유틸리티로 단위테스트 프로젝트의 [코드 검사 분석] 결과를 뽑아내는 방법은 간단하다.

여기서 사용하는 유틸리티는 이전 아티클에서 잠깐 소개한 vstest.console.exe다.

핵심은 "/EnableCodeCoverage" 스위치를 사용하는 것이다.

예를 들어 솔루션의 BankTests 단위 테스트 프로젝트에서 빌드한 BankTests.dll에 대해 코드 검사 분석 결과 파일(.coverage)를 뽑아 내고자 한다면, 어셈블리가 빌드된 경로를 포함해 지정한다.


.\Debug>vstest.console BankTests.dll /EnableCodeCoverage



코드 검사 분석 결과 파일(.coverage)을 XML 파일로 변환하기

*.coverage 파일은 바이너리 형식이다. 

따라서 이런 파일이 다수 생성되는 상황에서 검사 결과를 모아서 통합 보고서를 내놓고자 한다면, XML 형식의 파일로 변환하는 것이 좋다.

이런 목적에 사용할 수 있는 명령 줄 유틸리티는 CodeCoverage.exe다.

이 유틸리티는 다음의 경로에 존재한다.


C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Team Tools\Dynamic Code Coverage Tools


변환될 xml 파일은 /output 매개변수에 파일 이름과 함께 확장자 .coveragexml을 붙여 지정해야 한다.

사용법은 다음과 같다.


.\CodeCoverage.exe analyze /output:"[저장할 경로]\result.coveragexml" "[코드 검사 분석 결과 파일 경로]\SteelFlea_STEELFLEA-TX1Y 2019-01-29 09_55_46.coverage"

 

만들어진 xml 파일의 모습은 이렇다.



비교를 위해 Visual Studio 2017에서 수행한 코드 검사 분석 결과를 나타냈다.