Visual Studio에 단위 테스트에 대한 코드 적용 범위가 있나요?


82

Visual Studio 2015 Community Edition을 사용하고 있으며 코드를 테스트하기위한 단위 테스트를 만드는 옵션이 있다는 것을 알고 있지만 코드 범위를 테스트하는 옵션이 표시되지 않으므로 Visual Studio가 있는지 알고 싶습니다. 이 옵션을 사용하거나 타사 플러그인을 사용해야하는 경우.

타사 솔루션을 사용해야하는 경우 좋은 옵션일까요?

답변:


79

Visual Studio 2015 Enterprise에만 코드 검사가 기본 제공됩니다. 자세한 내용 은 기능 매트릭스 를 참조하십시오.

Visual Studio 내에서 코드 검사를 위해 OpenCover.UI 확장 을 사용할 수 있습니다 . MSTest, nUnit 및 xUnit을 지원합니다.

새 버전은 여기 에서 다운로드 할 수 있습니다 ( 릴리스 정보 ).


새 확장 버전은 이제 VS Gallery visualstudiogallery.msdn.microsoft.com/
Toni Wenzel

2
OpenCover UI는 NUnit과 3 지원하지 않는 것
레나

1
opencover.UI (VS와 통합 된)에는 사용하기가 불가능한 매우 지저분한 보고서 (결과 창)가 있습니다. opencover로 직접 이동 : allenconway.net/2015/06/…
Roman Pokrovskij

47

Visual Studio 2017을 사용 중이고이 질문을 받으면 AxoCover를 고려할 수 있습니다. OpenCover를 통합하는 무료 VS 확장이지만 VS2017을 지원합니다 (현재 개발중인 것으로 보입니다. +1).

VS 확장 페이지

https://github.com/axodox/AxoTools


9
이것은 (현재) 데스크톱 버전의 .NET 만 지원한다는 점에 주목할 가치가 있습니다. 즉, .NET Core는 작성 시점에 지원되지 않는 것으로 보입니다.
Jay는

6
2017년 12월 12일, 여전히 .NET 코어 / 자 마린에 대한 지원하지
투안 트란

1
예. .net 코어가 없습니다. 내가 설치 한 후에 깨달았습니다. :( 2018 년 8 월
JzInqXc9Dg

2
2019 년 3 월 현재 AxoCover는 xUnit 2.2 (이미 2 년 이상 된)까지만 지원하며 현재 xUnit 2.3 또는 2.4를 지원할 계획은 없습니다. xUnit 테스트를 실행하려면 신경 쓰지 마십시오.
Sean Werkema 19 년

2
2020 년 6 월이고 위의 의견은 여전히 ​​사실입니다.
Ε Г И І И О

34

Toni의 답변은 매우 유용하지만 전체 초보자가 커버리지 평가를 테스트하는 빠른 시작이라고 생각했습니다.

이미 언급했듯이 Visual Studio Professional 및 Community Edition에는 기본 제공 테스트 범위 지원이 없습니다. 그러나 아주 쉽게 얻을 수 있습니다. Visual Studion 2015 Professional 내에서 NUnit 테스트에 사용할 단계별 구성을 작성하겠습니다.

  1. NuGet 인터페이스를 사용하여 OpenCover NUGet 구성 요소 설치

  2. 가져 오기 OpenCoverUI 확장을 . 도구-> 확장 및 업데이트를 사용하여 Visual Studio에서 직접 설치할 수 있습니다.

  3. 도구-> 옵션-> OpenCover.UI 옵션-> 일반에 액세스하여 적절한 실행 파일을 사용하도록 OpenCoverUI를 구성합니다.

NUnit 경로 : `nunit-console.exe 파일을 가리켜 야합니다. NUnit 2.xx 버전에서만 찾을 수 있으며 여기 에서 다운로드 할 수 있습니다 .

OpenCover 경로 : 일반적으로 설치된 패키지를 가리켜 야합니다.<solution path>\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe

  1. ReportGenerator NUGet 패키지 설치

  2. OpenCover Test ExplorerOpenCover 메뉴에서 액세스 합니다. 거기에서 테스트를 찾아보십시오. 실패하면 출력 창에서 자세한 내용을 확인하십시오.

  3. 자세한 내용은 OpenCover 결과 (OpenCover 메뉴 내)를 확인하십시오. 트리 기반 뷰에서 코드 커버리지와 같은 세부 정보를 출력합니다. 가려 지거나 덮이지 않은 코드를 강조 표시 할 수도 있습니다 (왼쪽 상단의 작은 아이콘).

참고 : 언급했듯이 OpenCoverUI는 NUnit (3.xx)의 최신 주 버전을 지원하지 않습니다. 그러나이 버전에 특정한 것이 테스트 내에서 사용되지 않으면 NUnit 3.xx 버전 설치 여부에 관계없이 문제없이 작동합니다.

이것은 빠른 시작을 다룹니다. 의견에서 이미 언급했듯이 고급 구성 및 자동화에 대해서는 이 기사를 확인 하십시오.


10
확장은 VS 2019 커뮤니티에서 작동하지 않습니다. 무슨 유감
nicolascolman


1

Visual Studio Community 2019에서 쉬운 솔루션을 찾고있는 모든 사람에게 Fine Code Coverage 는 간단하지만 잘 작동합니다.

정확한 커버리지에 대한 정확한 숫자를 제공 할 수는 없지만 어떤 선이 녹색 / 빨간색 홈통으로 덮여 있는지 알려줍니다.


이것은 좋은 힌트입니다. 그러나 .NET Core에서만 작동합니다.
Alexei
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.