crpcut은 (발음 "쓰레기 컷") 복실 강력한하여 Posix C ++ 단위 테스터입니다. crpcut와는 다른 단위 테스트 프레임 워크가 관리 할 수있는 테스트를 작성하는 것은 쉽다.
입문 예 :
표준 : : 문자열의 일부를 테스트 예 :
& NBSP; 사용법 #include
& NBSP; 사용법 #include <문자열>
& NBSP; 대부분의 사람들의 테스트를위한 구조체 apastr // 고정
& NBSP; {
& NBSP; apastr () : S ( "아파") {}
& NBSP; 표준 : : 문자열의;
& NBSP;};
& NBSP;있는 TestSuite (기본)
& NBSP; {
& NBSP; TEST (default_constr_and_destr)
& NBSP; {
& NBSP; 표준 : : 문자열의;
& NBSP; ASSERT_TRUE (s.empty ());
& NBSP; ASSERT_EQ (s.length (), 0);
& NBSP;}
& NBSP; TEST (constr_from_char_array, apastr,
& NBSP; DEPENDS_ON (default_constr_and_destr))
& NBSP; {
& NBSP; ASSERT_EQ (s.length () 3UL);
& NBSP;}
& NBSP; TEST (apastr,에서,
& NBSP; DEPENDS_ON (default_constr_and_destr))
& NBSP; {
& NBSP; ASSERT_EQ (s.at (1), 'P');
& NBSP;}
& NBSP;}
& NBSP;있는 TestSuite (오류, DEPENDS_ON (ALL_TESTS (기초)))
& NBSP; {
& NBSP; TEST (at_out_of_range, apastr,
& NBSP; EXPECT_EXCEPTION (표준 : : out_of_range))
& NBSP; {
& NBSP; s.at (4);
& NBSP;}
& NBSP; TEST (index_oper_out_of_range, apastr,
& NBSP; EXPECT_SIGNAL_DEATH (SIGABRT)
& NBSP; NO_CORE_FILE)
& NBSP; {
& NBSP; S [4];
& NBSP;}
& NBSP;}
& NBSP; INT 주 (INT argc, 문자 * argv [])
& NBSP; {
& NBSP; crpcut :: test_case_factory :: RUN_TEST (는 argc, argv에)을 반환;
& NBSP;}
비슷한 테스트 혜택은 테스트 스위트로 그룹화된다. 테스트 스위트는에 따라 모든 검사가 성공적으로 완료 한 경우 포함 된 테스트 만 실행하는 것을 의미, 다른 테스트 스위트에 따라 달라질 수 있습니다. 결과는 ASSERT 매크로의 숫자를 사용하여 검증 할 수 있습니다. 시험은 일반적인 내용을 표현하는 비품을 사용할 수 있습니다. 시험은 예외로 종료하거나 죽을 것으로 예상 할 수있다. 충족되지 않은 기대에 오류가 있습니다. 열려진 표준 출력에 메시지 gaught되어 결과 로그에 포함.
왜 crpcut
가장 중요한 것은 테스트를 쉽게 작성할 수 있어야합니다. crpcut으로, 당신은 테스트 환경에 의해 부과 된 제한에, 테스트 구조와 테스트 로직에 초점을 맞 춥니 다.
crpcut으로, 모든 테스트 케이스는 자체 프로세스와 자신의 작업 디렉토리에서 실행됩니다. 테스트 케이스가 실패하면 더 해를 끼치 지 전에, 프로세스는 즉시 종료한다. 이것은 모든 테스트 케이스가 다른 시험에 의해 영향을받지 백지 상태에서 시작하는 것을 의미한다. 이는 구획화이다.
또한, 테스트 세트가 테스트 충돌하더라도 계속 것을 의미한다. 사용자는 테스트 케이스에 대한 데드 라인을 설정할 수 있고, 허용 된 시간 심각 초과 인출되면, 테스트 케이스 프로세스는 삭제된다. 이 두 견고성 부분을 구성한다.
기본적인 테스트가 실패 할 경우, 기본 기능을 기반으로하는 테스트도 실행되지 않도록 당신은 테스트 스위트의 테스트 케이스 사이 사이에 종속성을 정의 할 수 있습니다.
crpcut 메인 프로세스는 테스트 케이스 프로세스가 시작되는 시점에 할당 된 동적 메모리를 가지고 있지 않으므로, 이러한 Valgrind의 같이, 메모리 테스트 도구를 사용 crpcut 실행할 수 있고, 메모리가 할당되는 경우 테스트 케이스 프로세스를 종료 할 때 당신이 당신의 테스트에서 메모리 누수를 발견한다는 점을 확신 할 수 있습니다.
만약 멀티 코어 CPU가있을 경우이를 병렬로 몇 개의 테스트 케이스들을 실행하기 위해 유리할 수있다. crpcut는 할 수 있습니다.
테스트 케이스 공정 후에 작업 디렉토리 테스트 공정 '에 남아 종료 된 파일이있는 경우, 테스트 케이스는 실패한 것으로 간주된다. 당신이 검사하는 작업 디렉토리, crpcut에 의해 온전히 남아있는
이 릴리스의 새로운 기능입니다.
이 버전은 CMake의 이전 버전과 배포판을 지원합니다.
1.9.1 버전의 새로운 기능 :
이 내장되어 있지만되었다 libcrpcut_basic.so 설치
이 버전 1.8.4의 새로운 기능 :
이는 Valgrind의 계측 문제, 시험 종속성 및 XML 보고서에 결함이 시험 기간 속성을 수정 사소한 버그 수정 릴리스입니다.
이 버전 1.8.2의 새로운 기능 :
이 약간의 기능 향상은 명령 줄 매개 변수가 --timeout-승수 = 요인은 이제 고정 건설에 대한 시간 제한에 영향을 미칠 수 있습니다 파괴.
이 버전 1.8.1의 새로운 기능 :
이 약간의 기능 향상은 명령 줄 매개 변수가 --timeout-승수 = 요인은 이제 고정 건설에 대한 시간 제한에 영향을 미칠 수 있습니다 파괴.
이 어떤 버전 1.7.2의 새로운 기능 :
이 버전하려면 / proc / sys / kernel / core_pattern는 배관 설명 할 때 리눅스에서 발생한 NO_CORE_FILE 테스트 수정과 사소한 버그를 수정 오히려 파일에 저장하는 것보다 프로그램의 핵심 덤프.
이 버전 1.6.1의 새로운 기능 :
이 어떤 경우에 blocked_tests 목록에 가까운 누락하여 잘못된 XML 출력의 원인이되었던 버그에 대한 패치입니다.
이 버전 1.6.0의 새로운 기능 :
이 새로운 기능은 (ASSERT_THROW) 예외 객체의 값을 확인 VERIFY_THROW (), 두 IStream을 위해 추가 선택적 매개 변수입니다 기반 명령 줄에서 전달 된 값을 선택하는 get_parameter ()의 버전 및 정적 또는 공유 라이브러리로 libcrpcut 구축 할 수있는 옵션을 선택합니다.
새로운 주요 기능은 시험의 태그는
1.5.0 버전의 새로운 기능입니다. 태그 testsuites의 직교 테스트 선택 방법이다. 태그는 또한 임계 (예 회귀) 아르 시험 및 비 중요 시험을 구별하는데 사용될 수있다 (예를 들면 기능은 현재 일).
실험 지원은 예를 들어,와, ANSI 컬러 탈출을 테스트 리포트를 장식 할 수 있습니다.
댓글을 찾을 수 없습니다