2013-11-21 2 views
0

현재 내 소프트웨어 프로젝트 중 하나에서 Boost.Log를 사용하고 있습니다. 로그 메시지를 사용하여 오류 상태를보고하는 경우가 하나 있습니다. 이 조건이 Google 테스트 프레임 워크를 사용하여 올바르게 감지되는지 테스트하고 싶습니다. 그냥 명확히하기 위해 메시지가 생성되었는지 테스트하고 싶습니다. 필터로 제거 할 수는 있지만 테스트가 실패해서는 안됩니다. 이것이 가능합니까? 어떤 힌트? 감사!Boost.Log를 사용하여 로그 메시지가 생성되는지 테스트합니다.

#include <assert.h>  /* assert */ 

void print_number(int* myInt) { 
    assert (myInt!=NULL); 
    // Boost.Log stuff... 
    // print_number stuff... 
} 

이 당신에게 똑바로 메시지를주고 테스트가 실패 할 경우 (컴파일러/OS에 따라) 것입니다 : 기본 예 또는 노 테스트를 위해

답변

1

, 단순히 같은 assert, 무언가를 사용합니다.

+0

해결책은 내가 바라던 (예 : 경고 테스트)만큼 일반적이지는 않지만 현재 진행중인 경우에 효과적입니다. 나를 똑바로 세워 줘서 고마워, 나는 그 명백한 해결책을 고려하지 않은 그 로그 메시지를 탐지 할 가능성에 집중했다! 아무도 더 일반적인 질문이 없을 경우를 대비하여 나중에 답변을 수락하겠습니다. –

+0

'#include '코드를 사용하기 전에 간단한'#define NDEBUG' (일반 헤더 나 makefile/명령 행)을 사용하여 생산 코드를 쉽게 비활성화 할 수 있습니다. –