본문 바로가기
GTEST

[GTEST] GTEST(Google Test) 명령 인수를 사용한 실행 플래그 옵션 정보

by Junk_Seo 2023. 11. 22.
반응형

1. GTEST(Google Test) 실행 플래그 옵션

  • GTEST 사용 시 기본적으로 제공해 주는 플래그 옵션 사용에 대하여 정리합니다.

2. 프로그램 명령 인수를 사용한 실행 옵션 정보

  • GTEST는 main() 함수의 명령 인수에 실행 플래그 옵션을 사용하여 프로그램 실행 시 수행 옵션을 지정하여 제어할 수 있습니다.
  • 이를 위해선 main() 함수에서 RUN_ALL_TESTS() 전에 ::testing::InitGoogleTest()를 호출해야 합니다.
    CEnvironment* g_Env = NULL;
     
    int main(int argc, char **argv)
    {
     
        g_Env = new CEnvironment();
     
        g_Env = new CEnvironment(argc, argv);
     
        ::testing::InitGoogleTest(&argc, argv);
        ::testing::AddGlobalTestEnvironment(g_Env);
     
        return RUN_ALL_TESTS();
    }
  • 플래그 옵션 정보를 확인하려면 프로그램 실행 시 명령 인수로 --help, -h, -?, /? 옵션을 지정하면 됩니다.
  • 위 옵션을 사용하면 프로그램을 실행하지 않고, 플래그에 대한 정보를 출력해 줍니다.

3. GTEST 실행 플래그 옵션

3.1. --gtest_list_tests

  • 테스트를 수행할 목록 리스트를 출력합니다.
  • 테스트를 수행하지 않습니다.
    테스트 케이스 예제 플래그 사용 결과

3.2. --gtest_filter=POSITIVE_PATTERNS [-NEGATIVE_PATTERNS]

  • --gtest_filter= 다음에 [테스트 케이스 이름].[테스트 이름]을 입력하면 해당 테스트만 수행한다.
  • 앞에 "-"를 붙이면 해당 테스트를 수행하지 않는다.
  • 이름 대신 와일드카드(*,?)를 사용할 수 있다.
    POSITIVE_PATTERNS NEGATIVE_PATTERNS 와일드카드

3.3. --gtest_also_run_disabled_tests

  • DISABLED_ 로 실행을 막아둔 테스트도 실행시킨다.
    DISABLED_* 테스트 케이스 실행

3.4. --gtest_repeat=[COUNT]

  • 에러 확률이 낮은 경우 여러 번 반복하여 테스트를 수행해야 되는데, 이 경우에 사용합니다.
  • COUNT로 입력한 횟수만큼 테스트를 반복합니다.
    반복 테스트

3.5. --gtest_shuffle, --gtest_random_seed=[NUMBER]

  • 프로그램에서 임의의 순서로  테스트를 실행할 때 사용합니다.
  • 현재 시간에서 계산된 임의의 시드를 사용합니다.
  • 랜덤 시드를 명시적으로 지정하려면 --gtest_random_seed=[NUMBER]를 사용합니다. (NUMBER는 0~99999)
    임의의 시드 명시적으로 시드 시정

3.6. --gtest_color=(yes|no|auto)

  • 터미널 출력의 컬러를 설정합니다.
  • 기본 값은 auto입니다.
  • auto에서 비 Window 플랫폼에서는 TERM 환경 변수에 xterm 또는 xterm-color가 설정된 경우 색상을 출력합니다.
    auto yes no

3.7. --gtest_print_time=0

  • gtest는 기본값으로 테스트의 수행 시간을 출력하는데, 해당 옵션을 사용하면 수행 시간을 출력하지 않습니다.
    수행 시간 출력 수행 시간 출력 안 함

3.8. --gtest_output=xml [:DIRECTORY_PATH/ | :FILE_PATH]

  • 프로그램 수행 결과에 대한 보고서를 XML 형태로 저장합니다.
  • 생성하려는 경로에 동일한 파일이 존재하면 덮어쓰지 않도록 파일 이름에 시퀀스를 추가합니다.
    플래그 사용 xml 파일 생성 확인 동일 파일이 존재하는 경우 xml 파일 이름에 시퀀스 추가 확인

4. 참고

 

GoogleTest User’s Guide

GoogleTest - Google Testing and Mocking Framework

google.github.io

 

반응형