유닛 테스트

CLion은 Google Test, Catch, Boost.Test, Doctest 프레임워크와 통합되어 유닛 테스트를 쉽게 수행할 수 있습니다.

테스트 실행

CLion에는 일반 실행 파일을 간단히 실행하여 테스트할 수 있는 기본 방법이 있습니다. 그러나 기본 테스트 러너의 이점을 활용하려면 특별한 Google Test, Catch, Boost.Test 또는 Doctest 구성을 사용하세요.

테스트 실행

CMake 대상이 gtestgmock에 연결되어 있는 경우 이 구성은 자동으로 생성됩니다. 또는 ⌃⇧R을 눌러 단일 테스트, 픽스처 또는 전체 파일을 실행할 수도 있습니다. 그 외에, Run(실행) | Edit Configurations...(구성 편집) 설정에서 그러한 구성을 직접 생성하고 업데이트할 수도 있습니다.

테스트 실행

Catch 구성의 경우 테스트 세트를 줄이려면 태그 및 태그 이름 완성 기능을 활용하세요.

Catch 구성

테스트 러너

검사 결과

사용하기 간편하고 기능이 풍부한 유닛 테스트 러너를 사용해 테스트 기반 개발의 이점을 마음껏 누리세요. 테스트 러너의 전용 뷰에는 다음이 표시됩니다.

  • 현재까지 진행된 테스트 비율을 보여주는 진행률 표시줄
  • 테스트 상태 및 소요 시간 정보를 포함하여 전체 테스트 실행을 보여주는 트리 뷰
  • 전체 테스트 결과 스트림 등

그 외에 CLion의 테스트 러너에서는 다음 작업을 지원합니다.

  • 하나의 테스트, 전체 테스트 또는 실패한 전체 테스트를 다시 실행
  • 테스트 결과를 내보내고 기록에서 자동 저장된 이전 결과 열기
  • Ctrl+↓을 눌러 특정 테스트의 소스 코드를 탐색
실행/상태 아이콘

실행/상태 아이콘

왼쪽 gutter에 있는 아이콘을 사용하면 테스트를 실행/디버그하거나 Valgrind Memcheck와 함께 테스트를 실행할 수 있고, 테스트 상태가 성공인지 실패인지 보고할 수도 있습니다.

코드 생성

코드 생성 기능(Alt+Insert)은 유닛 테스트를 작성할 때 큰 도움이 됩니다. Google Test의 경우 테스트, 테스트 픽스처 또는 SetUp/TearDown 메서드를 생성하세요.

테스트에서 코드 생성

픽스처 테스트를 생성하는 경우 TEST() 매크로가 적절한 TEST_F(), TEST_P(), TYPED_TEST() 또는 TYPED_TEST_P()로 자동 변환됩니다.

테스트에서 코드 생성
CTest 지원

CTest 지원

CMake에 특화된 테스트 러너인 CTest가 CLion에서 지원됩니다. 즉 CTest로 실행 중인 테스트 목록이 탐지될 수 있으며 IDE는 해당 테스트에 대한 실행/디버그 구성을 자동으로 생성합니다. 테스트가 시작된 경우 결과는 기본 제공 테스트 러너에 표시되어 테스트 디버그, 실패한 테스트만 다시 실행 등의 기능을 수행할 수 있습니다.