위키득계정 ↗
기술

Go-testdeep

Go-testdeep기술
분야
깊은 비교와 단언
언어
Go
조건 단위
비교 연산자
연동
기본 testing과 보조 도구
Go-testdeep은 Go 값의 중첩 구조를 유연한 조건으로 비교하는 테스트 라이브러리다. 정확한 값 비교와 범위나 부분 조건을 조합해 검사 의도를 표현한다.

전체 동등 비교의 한계

복잡한 결과에는 정확히 같아야 할 값과 범위만 만족하면 되는 값이 함께 있을 수 있다. Go-testdeep은 중첩된 자료에 연산자를 넣어 이런 기대를 표현한다. 결과 전체를 느슨하게 무시하는 대신 어떤 필드에 어떤 조건을 적용하는지 드러내는 방식이다. 실제 요구에 맞는 비교 강도를 정해야 한다.

조건을 조합하는 검사

구조체와 목록, JSON 같은 결과에 여러 조건을 결합할 수 있다. 변환한 값에 조건을 적용하거나 확인한 값을 후속 검사에 활용하는 구성도 가능하다. 표현력이 높아질수록 검사 자체가 복잡해질 수 있으므로 실패했을 때 무엇이 어긋났는지 읽을 수 있게 작게 나눈다. 조건을 통과시키기 위한 불필요한 완화는 피한다.

보조 도구와 역할

HTTP 처리기 검사나 순차적인 테스트 모음을 위한 도우미도 제공한다. HTTP 처리기를 직접 확인하는 검사와 실제 네트워크를 거치는 검사는 범위가 다르다. 기본 Go 테스트에 결합해 사용하며 검사 생성이나 요구사항 선택을 대신하는 것은 아니다. 변동 데이터와 고정된 계약을 구분하고 실제로 검증할 부분을 명확하게 유지한다.

관련 문서

Go-cmp / Testify / Gomega / Httpmock Go