아래의 글은 MS의 유닛 테스트 적성하기 문서에 오류가 있어 바로 잡기 위한 글입니다.

유닛 테스트하는 도구로는 MSTest, NUnit, xUnit 등 몇 가지가 있는데

이 중에 MSTest를 이용하여 유닛 테스트하는 예를 작성해 보고자 한다.

컨솔 창에 Hello World! 라는 문구가 정상적으로 출력되는지 알아보는 유닛 테스트이다.

Visual Studio 2019 의 메뉴에서 "파일(F)" -> "새로 만들기" -> "프로젝트(P)"를 선택하고, "새 프로젝트 만들기" 창에서아래와 같이 선택하고 "다음(N)" 버큰을 클릭한다.

<새 프로젝트 만들기 창>

 

다음에 프로젝트 이름과 폴토를 선택하는 창에서 아래와 같이 "프로젝트 이름(N)" 입력 난에 HelloWorldTests 라고 입력하고, 그 아래 항목 "위치(L)" 난에서 적당한 폴더를 선택해 준다.

그리고 "다름(N)" 바튼을 클릭하면  Visual Studio 가 소스 작성하는 환경으로 된다.

 

<새 프로젝트 구성 창>

그리고 "다름(N)" 바튼을 클릭하면 Visual Studio 가 소스 작성하는 환경으로 된다.

이제 C# 소스 UnitTest1.cs 를 작성하는 곳의 소스를 다음 처럼 작성한다.

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);
                HelloWorldTests.Program.SayHello();

                var result = sw.ToString().Trim();
                Assert.AreEqual(Expected, result);
            }
        }
    }

    class Program
    {
        public static void SayHello()
        {
            Console.WriteLine("Hello World!");
        }
    }
}

 

소스기 잘 작성되었으면 Visual Studio 의 메뉴에서 "빌드(B)" -> "솔루션 다시 빌드(R)" 을 선택하여

솔루션을 빌드한다.

빌드가 성공되면 아래 그림 처럼 Visual Studio의 메뉴에서 "테스트(S)" -> "테스트 탐색기(T)"를 선택한다.

<테스트 탐색기(T) 선택 메뉴>

 

아래의 테스트 탐색기 창의 도구바 메뉴 중에 가장 좌측에 있는 도구 버튼을 누르고 참시 기다리면 성공한 결과가 아래 처럼 나온다.

 

<유닛 테스트가 성공한 결과>

Posted by Scripter
,