2012-02-05 4 views
2

단위 테스트를 위해 check 라이브러리를 사용하려는 프로젝트가 있습니다.C에서 단위 테스트를 위해 CTest에서 검사 라이브러리를 사용하는 방법

나의 현재 프로젝트는 CMake를 사용하고 구조 다음했습니다 core-test에서

 
. 
├── CMakeLists.txt 
├── COPYING 
├── ChangeLog 
├── README 
├── src 
│   ├── core 
│ │   ├── CMakeLists.txt 
│ │ └── main.c 
│   ├── core-test 
│ │   ├── CMakeLists.txt 
│ │ └── main.c 
│ └── scrypt 
└── doc 
    └── protocol.txt 

내가 core 모듈에 대한 단위 테스트를해야합니다. scrypt 모듈에 대한 테스트가있을 것입니다 scrypt-test에서 등등.


CTest에서 check을 사용하는 것이 의미가 있습니까?

예 : check을 사용하는 단위 테스트를 어떻게 CMake/CTest 프로젝트에 연결합니까? CTest가 check 실행 가능 파일의 결과를 해석하도록 추가 구성이 필요합니까?

답변

2

CTest와 함께 check을 사용할 수 있습니다. 불행히도 편리하지 않습니다.

check을 사용한 단위 테스트가 실패하면 CTest에서 실패로 간주됩니다. 문제는 CTest가 실패한 응용 프로그램의 출력을 표시하지 않는다는 것입니다. . 다른 단점은 CTest가 개별 check 테스트를 포함하지 않으므로 "단일"테스트가 실패하면 복수 check 테스트를 의미 할 수 있습니다. CTest가 수표 결과를 해석 할 수있는 방법을 찾지 못했습니다.


  1. 당신은 다음과 같은 내용 빌드 디렉토리 (같은 사람이있는 당신이 make 또는 ctest를 실행)에 CTestCustom.cmake 파일을 생성하여 출력의 인쇄를 강제 할 수

    :

    세트를 (CTEST_CUSTOM_POST_TEST "고양이 Testing/Temporary/LastTest.log ")

관련 문제