더 나은 코드 품질을 위해 C#으로 단위 테스트를 작성하는 방법

Deo Na Eun Kodeu Pumjil Eul Wihae C Eulo Dan Wi Teseuteuleul Jagseonghaneun Bangbeob



우리 대부분은 개발자로 시작할 때 단위 테스트에 대해 거의 생각하거나 많은 시간을 투자하지 않습니다. 그러나 더 복잡하고 공유된 리포지토리 환경에 들어가면 코드를 프로덕션에 배포하기 전에 테스트하는 것이 점점 더 중요해집니다.

따라서 광범위한 코드베이스를 다룰 때 학습 곡선을 피하기 위해 개발 단계 초기에 단위 테스트의 기본 사항을 얻는 것이 중요합니다.

이 자습서에서는 C# 및 MSTest 테스트 라이브러리를 사용한 단위 테스트 프레임워크를 소개합니다. 단위 테스트를 생성하고 실행하는 방법, 테스트 실패 또는 성공 결과를 해석하는 방법을 배울 수 있는 기본 애플리케이션을 구축할 것입니다.







테스트 환경

테스트 솔루션과 기본 애플리케이션을 구성하는 방법에 대해 논의하는 것부터 시작하겠습니다.



이 튜토리얼의 애플리케이션을 따르고 복제하려면 다음이 있는지 확인하십시오.



  1. 설치된 비주얼 스튜디오
  2. 컴퓨터에 .NET 및 C# 도구 구성

애플리케이션 생성

다음으로 Visual Studio를 열고 새 솔루션을 만듭니다. 이 튜토리얼에서는 기본 계산기 애플리케이션을 구축합니다. 원하는 이름으로 신청서를 제출할 수 있습니다.





다음으로 새 프로젝트를 만들고 프로젝트 유형을 MSTest 테스트 프로젝트로 선택하고 원하는 이름을 지정합니다.



'솔루션에 추가'를 선택하고 이전에 생성된 앱을 선택하십시오.

솔루션 탐색기에 표시된 대로 기본 애플리케이션과 단위 테스트 프로젝트가 있어야 합니다.

계산기 애플리케이션용 코드 작성

다음 단계는 계산기 애플리케이션용 코드를 작성하는 것입니다. CalcApp “program.cs” 파일에서 이 작업을 수행할 수 있습니다.

기본 기능을 찾고 있으므로 다음과 같이 소스 코드를 추가할 수 있습니다.

공개 클래스 계산기
{
공공의 더블 추가하다 ( 더블 , 더블 )
{
반품 + ;
}

공공의 더블 덜다 ( 더블 , 더블 )
{
반품 - ;
}

공공의 더블 곱하다 ( 더블 , 더블 )
{
반품 * ;
}

공공의 더블 나누다 ( 더블 , 더블 )
{
만약에 ( == 0 )
새로운 DivideByZeroException 발생 ( ) ;
반품 / ;
}
}

짐작할 수 있듯이 이전 코드는 기본 산술 애플리케이션을 수행할 수 있는 계산기 앱을 생성합니다.

단위 테스트 작성

완료되면 '계산기' 클래스에 대한 단위 테스트를 작성할 수 있습니다. 이 경우 우리가 해야 할 일은 프로젝트의 'UnitTest' 파일에 다음과 같이 테스트를 작성하는 것뿐입니다.

시스템 사용 ;

네임스페이스 CalcApp
{
공개 클래스 계산기
{
공공의 더블 추가하다 ( 더블 , 더블 )
{
반품 + ;
}

공공의 더블 덜다 ( 더블 , 더블 )
{
반품 - ;
}

공공의 더블 곱하다 ( 더블 , 더블 )
{
반품 * ;
}

공공의 더블 나누다 ( 더블 , 더블 )
{
만약에 ( == 0 )
새로운 DivideByZeroException 발생 ( ) ;
반품 / ;
}
}
}

네임스페이스 CalcTest
{
[ 테스트클래스 ]
공개 클래스 CalculatorTests
{
개인 계산기 계산기 ;

[ 테스트초기화 ]
공공의 무효의 설정 ( )
{
계산자 = 새로운 계산기 ( ) ;
}

[ 시험 방법 ]
공공의 무효의 Add_TwoPositiveNumbers_ReturnsCorrentSum ( )
{
결과였어 = 계산자. 추가하다 ( 5 , 5 ) ;
주장하다. 같다 ( 10 , 결과 ) ;
}

[ 시험 방법 ]
공공의 무효의 Subtract_TwoPositiveNumbers_ReturnsCorrectDifference ( )
{
결과였어 = 계산자. 덜다 ( 10 , 5 ) ;
주장하다. 같다 ( 5 , 결과 ) ;
}

[ 시험 방법 ]
공공의 무효의 Multiply_TwoPositiveNumbers_ReturnsCorrightProduct ( )
{
결과였어 = 계산자. 곱하다 ( 5 , 5 ) ;
주장하다. 같다 ( 25 , 결과 ) ;
}

[ 시험 방법 ]
[ 예상된 예외 ( 유형 ( DivideByZero예외 ) ) ]
공공의 무효의 Divide_DenominatorIsZero_ThrowsDivideByZeroException ( )
{
결과였어 = 계산자. 나누다 ( 5 , 0 ) ;
}

[ 시험 방법 ]
공공의 무효의 Divide_TwoPositiveNumbers_ReturnsCorrentQuotient ( )
{
결과였어 = 계산자. 나누다 ( 10 , 5 ) ;
주장하다. 같다 ( 2 , 결과 ) ;
}
}
}

결론

이는 MSTest 프레임워크를 사용하여 C#에서 단위 테스트의 기본 사항을 다루는 기본 자습서입니다.