Visual Studio를 사용하여 단위 테스트를 정의하고 실행하여 코드 상태를 유지하고, 코드 검사를 확인하고, 고객이 하기 전에 오류와 오류를 찾습니다. 단위 테스트를 자주 실행하여 코드가 제대로 작동하는지 확인합니다.
이 문서에서 코드는 C# 및 C++를 사용하며, 일러스트레이션은 C#에 있지만 개념과 기능은 .NET 언어, C++, Python, JavaScript 및 TypeScript에 적용됩니다.
단위 테스트 만들기
이 섹션에서는 단위 테스트 프로젝트를 만드는 방법을 설명합니다.
Visual Studio에서 테스트할 프로젝트를 엽니다.
예제 단위 테스트를 보여주기 위해 이 문서에서는 HelloWorld라는 간단한 "Hello World" C# 또는 C++ 콘솔 프로젝트를 테스트합니다. 이러한 프로젝트에 대한 샘플 코드는 다음과 같습니다.
솔루션 탐색기에서 솔루션 노드를 선택합니다. 그런 다음, 위쪽 메뉴 모음에서 파일> 새프로젝트>를 선택합니다.
새 프로젝트 대화 상자에서 사용할 단위 테스트 프로젝트를 찾습니다.
검색 상자에 테스트를 입력하여 MSTest (C#) 또는 네이티브 단위 테스트 프로젝트(C++)와 같이 사용하려는 테스트 프레임워크에 대한 단위 테스트 프로젝트 템플릿을 찾아 선택합니다.
Visual Studio 2017 버전 14.8부터 .NET 언어에는 NUnit 및 xUnit에 대한 기본 제공 템플릿이 포함됩니다. C++의 경우 이 예제에서는 Microsoft 네이티브 단위 테스트 프레임워크를 사용하는 네이티브 단위 테스트 프로젝트를 선택합니다. (다른 C++ 테스트 프레임워크를 사용하려면 C/C++에 대한 단위 테스트 작성을 참조하세요). Python의 경우 Python 코드에서 단위 테스트 설정을 참조하여 테스트 프로젝트를 설정합니다.
팁 (조언)
C#의 경우에만 더 빠른 메서드를 사용하여 코드에서 단위 테스트 프로젝트를 만들 수 있습니다. 자세한 내용은 단위 테스트 프로젝트 및 테스트 메서드 만들기를 참조하세요. .NET Core 또는 .NET Standard에서 이 메서드를 사용하려면 Visual Studio 2019 이상이 필요합니다.
다음 그림에서는 .NET에서 지원되는 MSTest 단위 테스트를 보여 줍니다.
다음을 클릭하고 테스트 프로젝트의 이름을 선택한 다음 만들기를 클릭합니다.
프로젝트가 솔루션에 추가됩니다.
단위 테스트 프로젝트에서 참조 또는 종속성을 마우스 오른쪽 단추로 클릭한 다음 참조 추가 또는 프로젝트 참조 추가를 선택하여 테스트할 프로젝트에 대한 참조를 추가합니다.
테스트할 코드가 포함된 프로젝트를 선택하고 확인을 클릭합니다.
단위 테스트 메서드에 코드를 추가합니다.
예를 들어 테스트 프레임워크와 일치하는 올바른 설명서 탭(MSTest, NUnit 또는 xUnit(.NET에서만 지원됨) 또는 C++ Microsoft 네이티브 단위 테스트 프레임워크를 선택하여 다음 코드를 사용할 수 있습니다.
using Microsoft.VisualStudio.TestTools.UnitTesting; using System.IO; using System; namespace HelloWorldTests { [TestClass] public class UnitTest1 { private const string Expected = "Hello World!"; [TestMethod] public void TestMethod1() { using (var sw = new StringWriter()) { Console.SetOut(sw); HelloWorld.Program.Main(); var result = sw.ToString().Trim(); Assert.AreEqual(Expected, result); } } } }
단위 테스트 실행
-
테스트 탐색기를 열려면 위쪽 메뉴 모음에서 테스트>탐색기를 선택하거나 Ctrl + E, T 키를 누릅니다.
모두 실행을 클릭하여 단위 테스트를 실행하거나 Ctrl + R, V를 누릅니다.
테스트가 완료된 후 녹색 확인 표시는 테스트가 통과했음을 나타냅니다. 빨간색 "x" 아이콘은 테스트에 실패했음을 나타냅니다.
팁 (조언)
테스트 탐색기를 사용하여 기본 제공 테스트 프레임워크(MSTest) 또는 타사 테스트 프레임워크에서 단위 테스트를 실행할 수 있습니다. 테스트를 범주로 그룹화하고, 테스트 목록을 필터링하고, 테스트 재생 목록을 만들고, 저장하고, 실행할 수 있습니다. 테스트를 디버그하고 테스트 성능 및 코드 검사를 분석할 수도 있습니다.
라이브 단위 테스트 결과 보기(Visual Studio Enterprise)
Visual Studio 2017 이상에서 MSTest, xUnit 또는 NUnit 테스트 프레임워크를 사용하는 경우 단위 테스트의 라이브 결과를 볼 수 있습니다.
비고
이러한 단계를 수행하려면 .NET 코드 및 MSTest, xUnit 또는 NUnit 테스트 프레임워크 중 하나와 함께 Visual Studio Enterprise가 필요합니다.
테스트 메뉴에서 테스트>라이브 단위 테스트>시작을 선택하여 라이브 단위 테스트를 시작합니다.
코드를 작성하고 편집할 때 코드 편집기 창에서 테스트 결과를 봅니다.
테스트 결과 표시기를 클릭하여 해당 메서드를 다루는 테스트 이름과 같은 자세한 정보를 확인합니다.
라이브 단위 테스트에 대한 자세한 내용은 Live Unit Testing을 참조하세요.
타사 테스트 프레임워크 사용
프로그래밍 언어에 따라 NUnit, Boost 또는 Google C++ 테스트 프레임워크와 같은 타사 테스트 프레임워크를 사용하여 Visual Studio에서 단위 테스트를 실행할 수 있습니다. 타사 프레임워크를 사용하려면 다음을 수행합니다.
NuGet 패키지 관리자를 사용하여 선택한 프레임워크에 대한 NuGet 패키지를 설치합니다.
(.NET) Visual Studio 2017 버전 14.6부터 Visual Studio에는 NUnit 및 xUnit 테스트 프레임워크에 대해 미리 구성된 테스트 프로젝트 템플릿이 포함되어 있습니다. 템플릿에는 지원을 사용하도록 설정하는 데 필요한 NuGet 패키지도 포함됩니다.
(C++) Visual Studio 2017 이상 버전에서는 Google C++ 테스트 프레임워크와 같은 일부 프레임워크가 이미 포함되어 있습니다. 자세한 내용은 Visual Studio에서 C/C++에 대한 단위 테스트 작성을 참조하세요.
단위 테스트 프로젝트를 추가하려면 다음을 수행합니다.
테스트하려는 코드가 포함된 솔루션을 엽니다.
솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고새 프로젝트>를 선택합니다.
단위 테스트 프로젝트 템플릿을 선택합니다.
이 예제에서 NUnit을 선택합니다.
프로젝트 템플릿에는 NUnit 및 NUnit3TestAdapter에 대한 NuGet 참조가 포함됩니다.
테스트하려는 코드가 포함된 프로젝트에 테스트 프로젝트의 참조를 추가합니다.
솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭한 다음참조>를 선택합니다. (참조 또는 종속성 노드의 오른쪽 클릭 메뉴에서 참조를 추가할 수도 있습니다.)
테스트 메서드에 코드를 추가합니다.
테스트 탐색기에서 또는 테스트 코드를 마우스 오른쪽 단추로 클릭하고 테스트 실행(또는 Ctrl + , T)을 선택하여 테스트를 실행합니다.
다음 단계
C/C++ 대한 단위 테스트 작성