테스트 출력과 로깅

테스트 출력과 로깅

테스트를 실행하다 보면 결과 메시지가 어디로 나가는지 궁금해질 때가 있어요. Zig에서 테스트 출력이 어디로 가는지 짚어볼게요. 기본 테스트 러너와 Zig 표준 라이브러리의 테스팅 네임스페이스는 메시지를 표준 오류(standard error)로 출력해요. 그래서 테스트 실행 결과는 일반 출력(stdout)이 아닌 stderr로 나온다는 점을 기억해두시면 디버깅할 때 헷갈리지 않아요.

출처: Zig Documentation

본문

기본 테스트 러너(the default test runner)와 Zig 표준 라이브러리의 테스팅 네임스페이스(Zig Standard Library's testing namespace)는 메시지를 **표준 오류(standard error)**로 출력해요.

테스트 러너와 테스팅 네임스페이스가 만들어내는 메시지가 바로 이 경로로 나가게 됩니다. 파일 리다이렉트로 출력을 구분해야 하는 상황에서 이 동작이 실제로 달라지는 부분이에요. 예컨대 stdout에만 관심이 있다면 테스트 메시지는 stderr로 빠지기 때문에 섞이지 않아요.

더 알아보기

  • 테스트 네임스페이스에서 쓰는 함수들(std.testing.expect, std.testing.expectEqual 등)의 동작은 다음 섹션 The Testing Namespace에서 다뤄요.