단위 테스트와 C++

업데이트: 2007년 11월

Visual C# 및 Visual Basic에서 단위 테스트를 사용할 수 있습니다.

참고:

Visual C# 및 Visual Basic의 경우 제네릭 형식 및 제네릭 메서드에 대한 단위 테스트를 생성할 때 일부 제한 사항이 적용됩니다. 자세한 내용은 단위 테스트와 제네릭을 참조하십시오.

이 항목에서 설명하는 내용에 따라 Visual C++에서도 단위 테스트를 사용할 수 있습니다.

Visual C++에서 단위 테스트를 사용하는 방법은 솔루션에서 Visual C++가 수행하는 역할에 따라 달라집니다. 예를 들면 다음과 같은 경우입니다.

  • 단위 테스트를 사용하여 Visual C++로 작성된 코드를 테스트하려는 경우. 자세한 내용은 Visual C++ 프로덕션 코드를 참조하십시오.

  • 테스트 프로젝트가 Visual C++로 작성된 단위 테스트를 포함하는 경우. 자세한 내용은 테스트 프로젝트 및 Visual C++를 참조하십시오.

  • Visual C++로 작성된 코드에서 단위 테스트를 자동으로 생성하려는 경우. 자세한 내용은 코드 생성 및 Visual C++를 참조하십시오.

Visual C++ 프로덕션 코드

테스트할 코드에 대해 다음 사항을 알아 두십시오. 여기에서는 코드를 제품 코드라고 합니다.

  • 비관리. 프로덕션 코드가 비관리 코드인 경우 정적 라이브러리, .obj 파일 또는 DLL 진입점에서 이 코드를 호출할 수 있어야 합니다. 비관리 Visual C++에서는 런타임 검색 메커니즘인 리플렉션을 제공하지 않기 때문에 실행 파일 또는 DLL에 포함된 클래스 메서드가 작동하지 않습니다. 따라서 일반적인 네이티브 바인딩 메커니즘만 작동합니다.

  • 혼합. 혼합 프로젝트는 /clr 컴파일러 옵션을 사용하는 프로젝트입니다. 프로덕션 코드가 혼합 코드이며 실행 파일이 아닌 경우 코드에서 호출 가능한 모든 메서드를 호출하여 테스트할 수 있습니다.

  • 안전 또는 순수. 프로덕션 코드가 안전 또는 순수 코드인 경우 실행 파일이나 DLL에서 호출 가능한 모든 어셈블리 메서드를 호출하여 테스트할 수 있습니다.

테스트 프로젝트 및 Visual C++

테스트 프로젝트의 기능은 프로젝트에 대해 설정된 컴파일러 옵션에 따라 달라집니다. 자세한 내용은 컴파일러 옵션/clr(공용 언어 런타임 컴파일)를 참조하십시오. 다음 단원에서는 다양한 컴파일러 옵션 설정에서 사용할 수 있는 기능에 대해 설명합니다.

비관리

비관리 또는 네이티브 Visual C++는 테스트 프로젝트의 프로그래밍 언어로 사용할 수 없습니다.

혼합

혼합 프로젝트는 /clr 컴파일러 옵션을 사용하는 프로젝트입니다. 이런 종류의 테스트 프로젝트에서는 다음과 같은 프로덕션 코드를 테스트할 수 있습니다.

  • 정적 네이티브 라이브러리

  • 네이티브 DLL 진입점

  • 독립 실행형 .obj 파일

  • 호출 가능한 메서드가 있는 혼합 모드 DLL 어셈블리. 이 어셈블리에는 비관리 코드를 포함하고 있는 실행 파일이 없습니다. 일반적으로 비관리 실행 코드는 기준 주소를 다시 지정할 수 없습니다.

  • 호출 가능한 관리되는 메서드. /clr:pure 또는 /clr:safe 컴파일러 옵션으로 컴파일되는 코드입니다.

안전 또는 순수

테스트 프로젝트에서 /clr:pure 또는 /clr:safe 컴파일러 옵션을 사용하는 경우 호출 가능한 모든 관리되는 메서드를 테스트할 수 있습니다. 즉, 안전 또는 순수 코드는 /clr, /clr:pure 또는 /clr:safe 컴파일러 옵션으로 컴파일되는 프로덕션 코드를 의미합니다.

코드 생성 및 Visual C++

단위 테스트를 Visual C++ 테스트 프로젝트로 생성할 수 있습니다. 이러한 테스트는 Visual C++ 프로덕션 코드 프로젝트에서 생성할 수 있습니다. 다음 사항을 참고하십시오.

  • 프로덕션 코드 프로젝트. 프로덕션 코드가 Visual C++에서 작성된 경우 해당 제품에서 /clr:safe 컴파일러 옵션을 사용하는 경우에만 단위 테스트를 생성할 수 있습니다. 

  • 테스트 프로젝트. 코드 생성을 통해 모든 Visual C++ 테스트 프로젝트 형식(혼합, 안전, 순수)의 단위 테스트를 생성할 수 있습니다. 생성되는 기본 프로젝트 형식은 /clr:safe 프로젝트입니다. 언제든지 Visual C++ 컴파일러 옵션을 사용하여 프로젝트를 /clr 또는 /clr:pure로 변경할 수 있습니다. 자세한 내용은 /clr(공용 언어 런타임 컴파일)를 참조하십시오.

참고 항목

작업

방법: 단위 테스트 작성

개념

단위 테스트와 제네릭

참조

컴파일러 옵션