2013-05-23 3 views
1

OpenCovermstest을 사용하여 생성 된 XML 출력의 세부 정보를 표시하기 위해 opensource 도구 ReportGenerator을 사용하고 있습니다. 하나 개의 특정 프로젝트를 위해 나는 다음의 측정 값을 참조하십시오ReportGenerator에서 총 라인 수는 무엇입니까?

  • 대상 라인 : 3611 개
  • 계산 한 라인 : 3587 개
  • Coverable 라인 : 7198 개
  • 전체 라인 : 35,609

확인 , Covered + Uncovered = Coverable lines 그리고 이것이 의미가 있습니다. 그러나 Total lines은이 값보다 상당히 높으며이 모든 추가 코드 행을 구성하거나 정의하는 내용을 알고 싶습니다. Total lines을 작성하십시오. ReportGenerator에 대한

문서는 기껏 스파 스,하지만 난 그것을 공백, 주석 것을 포함 거라 생각, (네임 스페이스를 가져 오기위한) using 문, 검증하지 않은 등의 방법, 클래스의 선언 같은 것들. 그러나 나는 확신 할 수 없으며이 도구를 많은 프로젝트에 사용할 계획이며이 번호의 뒤에 무엇이 있는지 설명 할 수 있어야합니다.

누구나 Total lines 값이 총 테스트 가능한 라인을 넘어서 구성되어 있다는 것을 알고 있습니까? 그들이 PDB에 기록 된 파일을 기반으로하는 경우

+2

필자가 이해할 수 있듯이, 소스 파일 (코드 + 공백 + 괄호 + 주석 + 기타)의 모든 라인은 중요한 내용이 커버/커버 할 수 있습니다 - 오픈 커버 XML에서 시퀀스 포인트를 다루고 있습니다 –

+0

@ShaunWilde - 감사합니다. 나는 당신이 당신의 생체에 따라 OpenCover에 기여한 것을 안다. 당신은 우연히 ReportGenerator의 복사본을 가지고'Total lines'을 만드는 수식을 보지 않으십니까? – atconway

+0

[Codefile.cs] (http://reportgenerator.codeplex.com/SourceControl/latest#1402884)에 따르면 은 입니다.'string [] lines = System.IO.File.ReadAllLines (this.Path); this.TotalLines = lines.Length;'그런 다음 이들이 집계됩니다. –

답변

2

Codefile.cs에 따르면 그 다음은 모든 소스되지 않습니다

string[] lines = System.IO.File.ReadAllLines(this.Path); 
this.TotalLines = lines.Length; 

하고이 클래스/조립 수준 그러나

에서 집계입니다 파일에는 PDB에 파일을 기록해야하는 순서 점 (예 : 중단 점을 넣을 수있는 위치)이 없습니다.

+0

나는 다음과 같은 것을 이해하지 못한다는 점을 제외하고는 정말 좋았습니다. * "그런 다음 모든 소스 파일에 파일이 기록 될 필요가있는 시퀀스 포인트가 없습니다 (즉, 브레이크 포인트를 넣을 수있는 장소). PDB ". * 정확히 무슨 뜻입니까? 나는 PDB 상태에서 선이 있다면 시퀀스 포인트를 포함하지 않는다는 것을 이해했다. – atconway

+2

PDB는 하나 이상의 시퀀스 포인트가있는 파일에 대한 참조 만 포함합니다. 'enum'에 대한 참조만을 가진 파일은 PDB에 나열되지 않지만 여전히'소스 코드 '입니다. 총 줄 수는별로 중요하지 않으며 문제가 있습니다.이를 무시하거나 혼란스럽게 숨기는 것이 가장 좋습니다. –

+0

내가 모르는 차이점에 대해 매우 유익한 정보, 감사합니다! – atconway

관련 문제