BOOST 단위 테스트를 어떻게 건너 뛸 수 있습니까? 나는 그들을 실행중인 플랫폼 (예를 들어)에 따라 프로그램 적으로 단위 테스트를 건너 뛰고 싶습니다. 현재 솔루션은 다음과 같습니다.BOOST 단위 테스트를 건너 뛰는 방법은 무엇입니까?
#define REQUIRE_LINUX char * os_cpu = getenv("OS_CPU"); if (os_cpu != "Linux-x86_64") return;
BOOST_AUTO_TEST_CASE(onlylinux) {
REQUIRE_LINUX
...
the rest of the test code.
}
(빌드 환경은 변수 OS_CPU를 설정합니다.) 이것은보기 흉하고 오류가 발생하기 쉽고, 자동 건너 뛰기와 같이 사용자가 모르는 사이에 테스트를 건너 뛸 수 있습니다.
임의의 로직을 기반으로 부스트 유닛 테스트를 깨끗하게 건너 뛸 수 있습니까?
내가 ifdefs를 사용할 수 없습니다, 이러한 기준 중 일부에서 실행 시간을 결정해야합니다. 아마도 당신의 등록 제안과 같은 것을 사용할 것입니다. – dbn