실패한 테스트 만 표시하는 옵션이 있습니까? 이것을 달성하기 위해 기타를 사용하도록 전환해야했지만 명령 행 도구가 누락되었습니다.콘솔에서만 실패한 테스트를 표시하도록 gtest 구성
답변
설명서에 따르면 테스트 이벤트를 사용하여 출력을 변경할 수 있습니다. 여기를보십시오 (예도 있습니다) : https://github.com/google/googletest/blob/master/googletest/docs/AdvancedGuide.md#extending-google-test-by-handling-test-events
두 가지 방법이 있습니다.
http://code.google.com/p/googletest/wiki/V1_6_AdvancedGuide#Defining_Event_Listeners
또 다른 방법은 googletest 이벤트 리스너가 수신 입력을 필터링하는 것입니다
첫 번째는 자신의 이벤트 리스너를 작성하는 것입니다. 이를 위해
은 현재 이벤트 리스너를 제거하고 그것을 교환 approache 자신의
testing::TestEventListeners& listeners = testing::UnitTest::GetInstance()->listeners();
testing::TestEventListener* listener = listeners.Release(listeners.default_result_printer());
listeners.Append(new FailurePrinter(listener));
FailurePrinter 자신의 이벤트 리스너 클래스입니다
.이 클래스는 이제 모든 메소드를 구현해야이
class FailurePrinter : public ::testing::TestEventListener {
public:
FailurePrinter(TestEventListener* listener) : TestEventListener() {_listener = listener;}
virtual void OnTestProgramStart(const UnitTest& unit_test);
virtual void OnTestIterationStart(const UnitTest& unit_test, int iteration);
virtual void OnEnvironmentsSetUpStart(const UnitTest& unit_test);
virtual void OnEnvironmentsSetUpEnd(const UnitTest& unit_test);
virtual void OnTestCaseStart(const TestCase& test_case);
virtual void OnTestStart(const TestInfo& test_info);
virtual void OnTestPartResult(const TestPartResult& result);
virtual void OnTestEnd(const TestInfo& test_info);
virtual void OnTestCaseEnd(const TestCase& test_case);
virtual void OnEnvironmentsTearDownStart(const UnitTest& unit_test);
virtual void OnEnvironmentsTearDownEnd(const UnitTest& unit_test);
virtual void OnTestIterationEnd(const UnitTest& unit_test, int iteration);
virtual void OnTestProgramEnd(const UnitTest& unit_test);
protected:
testing::TestEventListener* _listener;
};
처럼 보일 것입니다.
googles 이벤트 리스너가 어떤 것을 인쇄하는 것을 좋아한다면, 호출을 _listener에 위임하십시오.
또는 결과를 수정할 수 있습니다. 예 :
void FailurePrinter::OnTestPartResult(const TestPartResult& test_part_result)
{
if (test_part_result.failed())
{
_listener->OnTestPartResult(test_part_result);
printf("\n");
}
}
은 Testfailures 만 출력합니다.
나는 많은 사람들이 확신 하듯이 동일한 문제에 부딪 쳤습니다.
https://gist.github.com/elliotchance/8215283
거의 붙여 넣기하고 플레이해야 : 그래서 나는이를 만들었습니다.
Google 테스트 용 청취자/예쁜 프린터 인 Google Test Pretty Printer을 작성하여 Google 테스트 프로그램에 더 깨끗하고 매력적인 콘솔 출력을 제공했습니다. 그것은 당신이 원하는 것을 할 수있는 --failures-only
옵션을 포함합니다.
- 1. 실패한 테스트를 자동으로 다시 실행
- 2. gtest 문제는
- 3. gTest 및 복수 main()
- 4. gtest 출력은 내가 gtest 모든 설정을 가지고 MSXML4
- 5. 실패한 경우 모든 테스트를 다시 시도하도록 MSTest를 구성하는 방법
- 6. jQuery 플러그인 scrollTo는 콘솔에서만 작동합니다.
- 7. Logitech9000 웹캠에서 카메라 이미지를 표시하도록 DSVL 구성
- 8. Spot이 자동 테스트에서 실패한 테스트를 반복적으로 다시 실행합니다.
- 9. 해결되지 않는 버그에 대한 실패한 테스트를 어떻게 처리해야합니까?
- 10. 어떻게 Net :: Amazon :: MechanicalTurk의 실패한 테스트를 해결할 수 있습니까?
- 11. 셀레늄 IDE의 파이썬 출력은 콘솔에서만 실행해야합니까? 아니면 IDE에서만 실행해야합니까?
- 12. 대괄호 안에 줄을 표시하도록 Eclipse를 구성 할 수 있습니까?
- 13. 결과에 작업 종료 코드를 표시하도록 CruiseControl.net을 구성 할 수 있습니까?
- 14. 양식을 화면에 표시하도록 강요하십시오.
- 15. 지도보기를 표시하도록 설정하려면 어떻게해야하나요?
- 16. TeamCity + MSTest - 실패한 테스트 만 실행 하시겠습니까?
- 17. BizTalk가 실패한 MSBuild
- 18. 디버거 메시지를 표시하도록 로거를 설정하는 방법은 무엇입니까?
- 19. googletest (gtest)를 사용하여 C 코드를 테스트 할 수 있습니까?
- 20. 위젯이 정상적인 앱을 표시하도록 설정하십시오.
- 21. CruiseControl에서만 실패한 IE.GetCookie를 사용한 WatiN 테스트
- 22. 포스트 스테이트에서 실패한 viewstate
- 23. ImpersonateLoggedOnUser가 실패한 조건
- 24. 실패한 쿼리를 로깅합니다.
- 25. 출시에 실패한 Android 앱
- 26. 실패한 API 호출에서 구조하기
- 27. MySQL 연결의 "실패한 시도"
- 28. TYPE_ALIGNMENT()가 실패한 예제
- 29. fread 실패한 C 프로그램
- 30. 실패한 rebase에서 복구
허용되는 답변이어야합니다. – Purefan