Boost 빌드는 잘 됐다고 치고
이제 테스트 프레임워크를 돌려 보자.
이런 건 Adapter가 있으면 받는 게 짱임
Boost Unit Test Adapter 페이지 가서 다운로드
https://visualstudiogallery.msdn.microsoft.com/5f4ae1bd-b769-410e-8238-fb30beda987f
설치 후 VS 재시작.
새 프로젝트 -> C++ -> Test -> Boost Unit Test Project 선택
프로젝트 생성 후
프로젝트 속성 -> 플랫폼 도구 집합 -> 툴 선택 (기본은 선택되어 있지 않음)
include와 lib 경로 추가
추가 -> 새 항목 -> C++ -> 파일명
전 ChatCtrl를 테스트하기 위해 ChatCtrlTest로 이름 정해서 생성
클래스 생성하고 체크 함수 물어 주고 실행
요렇게 테스트 프레임워크 구형 완료!
만약 빌드를 BOOST_TEST_NO_MAIN으로 했을 경우 아래와 같이 메인과 초기화 시점을 잡을 수 있음
boost::unit_test::test_suite *init_function(int argc, char *argv[])
{
// create test cases and suites and return a pointer to any enclosing
// suite, or 0.
return 0;
}
int main(int argc, char *argv[])
{
//라이브러리 로딩
boost::unit_test::unit_test_main(init_function, argc, argv);
//라이브러리 해제
}
테스트 해보니 static 기반의 싱글톤의 경우 boost가 메모리 릭으로 인식하는데 아직 해결책 못찾음
그래서 걍 메모리 릭 체크하는 기능 끔 ㅜㅜ
프로젝트 속성 -> 디버깅 -> 명령 인수 -> --detect_memory_leak=0 추가
간단하게 옵션 설명 하자면
--detect_memory_leak=0 (체크 하지 않음)
--detect_memory_leak=1 (체크)
--detect_memory_leak=특정 숫자 (해당 메모리가 잡힐때 디버깅 모드라면 브레이크 걸림 단 Visual Studio만 가능)
빌드시 메이븐처럼 유닛 테스트 걸고 싶으면
속성 -> 빌드 이벤트 -> 빌드 후 이벤트 -> 명령줄 -> "$(TargetDir)\$(TargetName).exe" --result_code=no --report_level=no --detect_memory_leak=0 이런식으로 걸어주면 빌드 시 자동으로 유닛 테스트 수행하게 됨
이제 노가다 시작
'글 > boost' 카테고리의 다른 글
Boost 1.60 빌드하기 (0) | 2016.04.29 |
---|---|
boost vs2010에서 사용하기 (0) | 2012.03.20 |