위키득계정 ↗
기술

ApprovalTests Cpp

ApprovalTests Cpp기술
프로젝트
ApprovalTests.cpp
분류
승인 및 스냅샷 테스트
기준 자료
검토하고 승인한 결과 파일
통합 예
Catch2 GoogleTest Doctest
ApprovalTests Cpp는 출력 결과를 검토해 승인한 기준 파일과 비교하는 C플러스플러스 테스트 라이브러리다. 복잡한 객체와 목록의 전체 표현을 검사하는 데 활용한다.

출력을 기준으로 삼기

객체의 여러 필드를 일일이 단언하는 대신 결과를 파일 표현으로 저장하고 승인한 기준과 비교한다. 도구가 결과 파일을 만들더라도 내용이 올바른지 승인하는 판단은 사람이 한다. 잘못된 출력을 승인하면 테스트도 그 잘못을 기준으로 삼게 된다.

차이 검토의 역할

변경 뒤 결과가 달라졌다면 의도한 변화인지 오류인지 확인한다. 차이 보기 도구와 보고 방식은 검토를 돕지만 정답을 자동으로 결정하지는 않는다. 객체를 문자열로 표현할 때 중요한 정보가 빠지지 않도록 구성해야 한다.

안정적인 결과 표현

시간과 실행 순서처럼 무관한 값이 매번 바뀌면 의미 없는 차이가 생길 수 있다. 검사 목적에 맞는 표현과 입력을 선택한다. 기준 파일 갱신을 단순한 실패 해소 절차로 취급하지 말고 기능 변경과 함께 검토한다.

관련 문서

GoogleTest / Catch2 / Doctest Cpp / CppUTest