출력을 기준으로 삼기
객체의 여러 필드를 일일이 단언하는 대신 결과를 파일 표현으로 저장하고 승인한 기준과 비교한다. 도구가 결과 파일을 만들더라도 내용이 올바른지 승인하는 판단은 사람이 한다. 잘못된 출력을 승인하면 테스트도 그 잘못을 기준으로 삼게 된다.
차이 검토의 역할
변경 뒤 결과가 달라졌다면 의도한 변화인지 오류인지 확인한다. 차이 보기 도구와 보고 방식은 검토를 돕지만 정답을 자동으로 결정하지는 않는다. 객체를 문자열로 표현할 때 중요한 정보가 빠지지 않도록 구성해야 한다.
안정적인 결과 표현
시간과 실행 순서처럼 무관한 값이 매번 바뀌면 의미 없는 차이가 생길 수 있다. 검사 목적에 맞는 표현과 입력을 선택한다. 기준 파일 갱신을 단순한 실패 해소 절차로 취급하지 말고 기능 변경과 함께 검토한다.
관련 문서
GoogleTest / Catch2 / Doctest Cpp / CppUTest