GoogleTest에서 특정 테스트 케이스를 실행하는 방법
내 프로젝트를위한 함수 / 메소드를 작성하려고하는데, 어떤 테스트 케이스를 실행할 것인지 사용자에게 묻습니다. 아래와 같이 보입니다 ...,
Test_Cases_1
|_TestNo1
|_TestNo2....so on
Test_Cases_2
|_TestNo1
|_TestNo2....so on
....
....so on
Test_Cases_N
|_TestNo1
|_TestNo2....so on
이제 문제는 프로젝트를 실행하는 동안 실행하려는 모든 테스트 케이스가 무엇인지 묻는 것입니다. 선택하면 Test_Cases_1
및 Test_Cases_N
. 그런 다음이 두 테스트 케이스를 실행하고 다른 모든 테스트 케이스를 Test_Cases_2 to ....
. 결과 창에서도 Test_Cases_1
및 의 결과를보고 싶습니다 Test_Cases_N
.
따라서 GoogleTest가 표시되면라는 메서드가 있습니다 test_case_to_run_count()
. 그러나 모든 것이 test cases
Test_F () 메서드로 등록되고 있습니다. 그래서 많은 분석을했지만 여전히 해결책을 찾지 못했습니다. 제발 도와주세요.
고급 옵션 을 사용 하여 Google 테스트를 실행할 수 있습니다 .
일부 단위 테스트 만 실행하려면 --gtest_filter=Test_Cases1*
정규식 값으로 명령 줄 옵션을 사용할 수 있습니다 . 나는 그것이 당신의 문제를 해결할 것이라고 생각합니다.
UPD :
문제는 특정 테스트 케이스 를 실행 하는 방법이었습니다 . gtest를 GUI와 통합하는 것은 또 다른 문제입니다. 접근 방식에 대한 세부 정보를 제공하지 않았기 때문에 설명 할 수 없습니다. 그러나 다음 접근 방식이 좋은 시작이라고 생각합니다.
- 테스트를 실행하여 모든 테스트 케이스 가져 오기
--gtest_list_tests
- 이 데이터를 GUI로 구문 분석
- 실행하려는 테스트 케이스 선택
- 옵션으로 테스트 실행 파일 실행
--gtest_filter
@Rasmi Ranjan Nayak 및 @nogard 답변을 요약하고 다른 옵션을 추가합니다.
콘솔에서
다음 --gtest_filter
과 같은 플래그를 사용해야합니다.
--gtest_filter=Test_Cases1*
(속성 | 구성 속성 | 디버깅 | 명령 인수에서도이 작업을 수행 할 수 있습니다.)
환경에
다음 GTEST_FILTER
과 같이 변수를 설정해야합니다.
export GTEST_FILTER = "Test_Cases1*"
코드에
다음 filter
과 같이 플래그를 설정해야합니다.
::testing::GTEST_FLAG(filter) = "Test_Cases1*";
주요 기능은 다음과 같습니다.
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
::testing::GTEST_FLAG(filter) = "Test_Cases1*";
return RUN_ALL_TESTS();
}
사용할 수있는 문자열의 구문에 대한 자세한 내용 은 테스트의 하위 집합 실행 섹션을 참조하십시오 .
마침내 나는 ::test::GTEST_FLAG(list_tests) = true;
wrt 콘솔이 아닌 프로그램에서 몇 가지 대답을 얻었습니다 .
당신이 사용하려는 경우 --gtest_filter =*;
/* =*, =xyz*... etc*/
// 당신은 콘솔에서 사용할 필요가있다.
따라서 내 요구 사항은 콘솔이 아닌 프로그램에서 사용하는 것입니다.
Updated:-
마침내 나는 프로그램에서 같은 것을 업데이트하는 것에 대한 답을 얻었습니다.
::testing::GTEST_FLAG(filter) = "*Counter*:*IsPrime*:*ListenersTest.DoesNotLeak*";//":-:*Counter*";
InitGoogleTest(&argc, argv);
RUN_ALL_TEST();
그래서 모든 답변에 감사드립니다.
당신은 훌륭합니다.
참고 URL : https://stackoverflow.com/questions/12076072/how-to-run-specific-test-cases-in-googletest
'programing tip' 카테고리의 다른 글
PHP-문자열 문자 반복 (0) | 2020.08.11 |
---|---|
DialogFragment를 올바르게 닫는 방법은 무엇입니까? (0) | 2020.08.11 |
Lisp에서 '(또는 따옴표)를 언제 사용합니까? (0) | 2020.08.11 |
풀하기 전에 로컬과 github의 차이점을 확인하는 방법 (0) | 2020.08.11 |
자바 스크립트 i ++ 대 ++ i (0) | 2020.08.11 |