VSTS 코드 커버리지 버그?


3

사람이 this VSTS Code Coverage "bug?는 "당신이 어떤 제안이 있습니까 경험 한 적이 있습니까?

내가 쉬운 일이 포함 된 도구를 사용하여 현재 일반적으로 비주얼 스튜디오와 코드 커버리지 분석을 수행하고있다. 그러나 나는 내가 할 수있는 문제가있는 A, B, C, D 어셈블리가 있으며 커버 리지 분석을 위해 이들을 모두 표시했다고 가정 해 보겠습니다. 테스트를 실행하고 결과를보고 A, B 및 C가 포함 된 보고서를 찾습니다. D. 조사하고 D에서 실제로 어떤 코드도 실행하지 않는다는 것을 알아 냈습니다. (asp.net 프론트 엔드라고하고 UI 테스팅을 아직 활용하지 않았다고 가정 해 봅시다.) D가 D에서 누락 된 테스트가 없으므로 총 코드 적용 비율을보고하고 "적용 대상 외의 블록"이 올바르지 않습니다.

내가 다음 중 하나를 어떻게 할 수 있는지 아는 사람 있습니까?

  • D의 전체 "블록 수"를 계산하여 수동으로 적용 보고서를 올바르게 조정할 수 있도록 하시겠습니까?
  • 적용 범위에 계측되었지만 전혀 테스트되지 않은 어셈블리에 적용되지 않는 블록 수를 자동으로 표시하도록 적용 범위 보고서를 가져옵니다.

테스트 범위가 향상되기를 바라지 만 코드 기반에서 이전 시점에 저장된 커버리지 보고서를 분석합니다. 따라서 각 어셈블리에서 최소 1 블록의 코드를 실행하고 테스트를 실행하여 테스트 범위를 다시 계산하는 테스트를 만들고 싶지 않습니다. 그것은 단순한 문제처럼 보이는 것에 꽤 시간이 걸리는 작업 방식 일 것입니다.

2

나는 이것을 한 번 들었다. 매우 성가시다. 필자의 경우에는 많은 dll이 있었기 때문에 커버 된 dll 정보를 크기에 따라 나누어서 코드베이스의 블록/kb을 추정했다. 그런 다음 커버되지 않은 dll에 대한 블록 수를 얻으려면 dll의 크기로 평균을 곱하면됩니다. 이것은 가장 정확한 방법은 아니지만 빠른 구장을 얻습니다. 알려진 dll을 계산하고 실제 값과 비교하여 오류를 확인할 수 있습니다. 계산 된 어셈블리 수가 많으면 유용합니다.

물론 LOC 계산 (주석 무시)을하고 블록과 대략 동일한 단일 LOC에 그림을 그릴 수 있습니다. 내가 정확하게 정확하게 기억한다면 그렇게 가까이 다가 가야한다.

덮개가없는 어셈블리에 대한 보고서를 강제로 만드는 유일한 방법은 실제로 어셈블리를로드하는 테스트를 작성하는 것입니다. 테스트는 아무 것도 할 필요가 없습니다.

  0

감사합니다. 당신이 제안한 것과 같은 진정한 해결책이 없다는 것이 두려웠습니다. 그러나 일종의 예상이었습니다. 이것이 VS 10에서 바뀌기를 바랍니다. 만약 내가 커버리지를 위해 어셈블리를 계측한다면 커버리지 리포트에 나타날 것으로 기대합니다. 지금은 기능 코드베이스의 범위를 결정할 수 없습니다. 25 sep. 082008-09-25 05:29:48

  0

난 오늘 아침에 이걸 잡았어. VS 2010에서 이걸 고치기를 바란다. 일부 어셈블리가 전혀 다루어지지 않았을 때 100 % 코드 커버리지가 있다는 말을 듣는 것은 오해의 소지가 있습니다! 28 jan. 102010-01-28 11:30:38