유닛 테스트 시작

Visual Studio를 사용하여 단위 테스트를 정의하고 실행하여 코드 상태를 유지 관리하고, 코드 적용 범위를 확인하고 , 고객이 찾기 전에 오류와 결함을 찾을 수 있습니다. 단위 테스트를 수시로 실행하여 코드가 올바르게 작동하는지 확인합니다.

이 문서의 코드는 C#과 C++를 사용하며 그림은 C#으로 제작되었지만, 개념 및 기능은 .NET 언어, C++, Python, JavaScript 및 TypeScript에 적용됩니다.

단위 테스트 만들기

이 섹션에서는 단위 테스트 프로젝트를 만드는 방법을 설명합니다.

  1. Visual Studio에서 테스트할 프로젝트를 엽니다.

    예제 단위 테스트를 보여주기 위해 이 문서에서는 HelloWorld라는 간단한 ‘Hello World’ C# 또는 C++ 콘솔 프로젝트를 테스트합니다. 이러한 프로젝트의 샘플 코드는 다음과 같습니다.

    namespace HelloWorld
    {
       public class Program
       {
          public static void Main()
          {
             Console.WriteLine("Hello World!");
          }
       }
    }
    
  2. 솔루션 탐색기에서 솔루션 노드를 선택합니다. 그런 다음, 상단 메뉴 모음에서 파일>추가>새 프로젝트를 선택합니다.

  3. 새 프로젝트 대화 상자에서 사용할 단위 테스트 프로젝트를 찾습니다.

    검색 상자에 test를 입력하여 사용할 테스트 프레임워크를 위한 단위 테스트 프로젝트 템플릿(예: MSTest(C#) 또는 기본 단위 테스트 프로젝트(C++))을 찾아 선택합니다.

    Visual Studio 2017 버전 14.8부터 .NET 언어에는 NUnit 및 xUnit의 기본 제공 템플릿이 포함됩니다. C++의 경우 이 예제에서는 Microsoft Native Unit Test Framework를 사용하는 기본 단위 테스트를 선택합니다. (다른 C++ 테스트 프레임워크를 사용하려면 C/C++에 대한 단위 테스트 작성을 참조하세요). Python의 경우 테스트 프로젝트를 설정하려면 Python 코드에서 유닛 테스트 설정을 참조하세요.

    C#의 경우에만 더 빠른 메서드를 사용하여 코드에서 단위 테스트 프로젝트를 만들 수 있습니다. 자세한 내용은 단위 테스트 프로젝트 및 테스트 메서드 만들기를 참조하세요. .NET Core 또는 .NET Standard에서 이 메서드를 사용하려면 Visual Studio 2019 또는 이후 버전이 필요합니다.

    다음 그림은 .NET에서 지원되는 MSTest 단위 테스트를 보여 줍니다.

    Unit test project template in Visual Studio 2022

    다음을 클릭하여 테스트 프로젝트의 이름을 선택한 다음, 만들기를 클릭합니다.

    Unit test project template in Visual Studio 2019

    다음을 클릭하여 테스트 프로젝트의 이름을 선택한 다음, 만들기를 클릭합니다.

    프로젝트가 솔루션에 추가됩니다.

    Unit test project in Solution Explorer

    Unit test project in Solution Explorer

  4. 단위 테스트 프로젝트에서 참조 또는 종속성을 마우스 오른쪽 단추로 클릭한 다음, 참조 추가프로젝트 참조 추가를 선택하여 테스트하려는 프로젝트에 대한 참조를 추가합니다.

  5. 테스트할 코드가 포함된 프로젝트를 선택하고 확인을 클릭합니다.

    Add project reference in Visual Studio

    Add project reference in Visual Studio

  6. 단위 테스트 메서드에 코드를 추가합니다.

    예를 들어 MSTest, NUnit 또는 xUnit(.NET에서만 지원)이나 C++ Microsoft Native Unit Test Framework 같은 테스트 프레임워크와 일치하는 올바른 설명서 탭을 선택하여 다음 코드를 사용할 수 있습니다.

    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);
             }
          }
       }
    }
    

단위 테스트 실행

  1. 테스트 탐색기를 엽니다.

    테스트 탐색기를 열려면 상단 메뉴 모음에서 테스트>테스트 탐색기를 선택하거나 Ctrl + E, T를 누릅니다.

  2. 모두 실행을 클릭하여 단위 테스트를 실행하거나 Ctrl + R, V를 누릅니다.

    Run unit tests in Test Explorer

    Run unit tests in Test Explorer

    테스트가 완료된 후 녹색 확인 표시는 테스트가 통과되었음을 나타냅니다. 빨간색 "x" 아이콘은 테스트가 실패했음을 나타냅니다.

    Review unit test results in Test Explorer

    Review unit test results in Test Explorer

테스트 탐색기를 사용하여 기본 제공 테스트 프레임워크(MSTest) 또는 타사 테스트 프레임워크에서 단위 테스트를 실행할 수 있습니다. 테스트를 범주로 그룹화하고 테스트 목록을 필터링하고 테스트 재생 목록 생성, 저장 및 실행할 수 있습니다. 테스트를 디버그하고 테스트 성능 및 코드 검사를 분석할 수도 있습니다.

라이브 단위 테스트 결과 보기(Visual Studio Enterprise)

Visual Studio 2017 이상에서 MSTest, xUnit 또는 NUnit 테스트 프레임워크를 사용하고 있다면 단위 테스트의 라이브 결과를 볼 수 있습니다.

참고 항목

이러한 단계를 수행하려면 Visual Studio Enterprise를 .NET 코드 및 MSTest, xUnit 또는 NUnit 테스트 프레임워크 중 하나와 함께 사용해야 합니다.

  1. 테스트>Live Unit Testing>시작을 선택하여 테스트 메뉴에서 라이브 단위 테스트를 켭니다.

    Start live unit testing in Visual Studio 2019

    Start live unit testing in Visual Studio 2022

  2. 코드를 작성하고 편집할 때 코드 편집기 창에 테스트 결과가 표시됩니다.

    View the results of the tests

    View the results of the tests

  3. 해당 메서드에 적용된 테스트의 이름과 같은 자세한 정보를 보려면 테스트 결과 표시기를 클릭합니다.

    Choose the test result indicators

    Choose the test result indicators

라이브 단위 테스트에 대한 자세한 내용은 라이브 단위 테스트를 참조하세요.

타사 테스트 프레임워크 사용

프로그래밍 언어에 따라 NUnit, Boost, Google C++ Testing Framework 등의 타사 테스트 프레임워크를 사용하여 Visual Studio에서 단위 테스트를 실행할 수 있습니다. 타사 프레임워크를 사용하려면 다음을 수행합니다.

  • NuGet 패키지 관리자를 사용하여 선택한 프레임워크에 대한 NuGet 패키지를 설치합니다.

  • (.NET) Visual Studio 2017 버전 14.6부터 Visual Studio에는 NUnit 및 xUnit 테스트 프레임워크에 대해 미리 구성된 테스트 프로젝트 템플릿이 포함됩니다. 템플릿에는 지원을 사용하는 데 필요한 NuGet 패키지도 포함되어 있습니다.

  • (C++) Visual Studio 2017 이상 버전에는 Google C++ Testing Framework 같은 일부 프레임워크가 이미 포함되어 있습니다. 자세한 내용은 Visual Studio에서 C/C++에 대한 단위 테스트 작성을 참조하세요.

단위 테스트 프로젝트를 추가하려면 다음을 수행합니다.

  1. 테스트할 코드가 포함된 솔루션을 엽니다.

  2. 솔루션 탐색기에서 솔루션을 마우스 오른쪽 단추로 클릭하고 추가>새 프로젝트를 선택합니다.

  3. 단위 테스트 프로젝트 템플릿을 선택합니다.

    이 예제에서는 NUnit을 선택합니다.

    NUnit test project template in Visual Studio 2022

    NUnit test project template in Visual Studio 2019

    다음을 클릭하여 프로젝트 이름을 지정한 다음, 만들기를 클릭합니다.

    프로젝트 템플릿에는 NUnit 및 NUnit3TestAdapter에 대한 NuGet 참조가 포함됩니다.

    NUnit NuGet dependencies in Solution Explorer

    NUnit NuGet dependencies in Solution Explorer

  4. 테스트할 코드가 포함된 프로젝트에 테스트 프로젝트의 참조를 추가합니다.

    솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭한 다음, 추가>참조를 선택합니다. 참조 또는 종속성 노드의 오른쪽 클릭 메뉴에서 참조를 추가할 수도 있습니다.

  5. 테스트 메서드에 코드를 추가합니다.

    Add code to your unit test code file

    Add code to your unit test code file

  6. 테스트 탐색기에서 테스트를 실행하거나, 테스트 코드를 마우스 오른쪽 단추로 클릭하고 테스트 실행을 선택하여 테스트를 실행하거나, Ctrl + R, T를 누릅니다.

다음 단계