
368
러닝 Go
테스트 파일을 위한 패키지 이름은
adder
_
test
라는 것을 주목하자. 파일이 같은 디렉터리에
있음에도
test
_
example
/
adder
를 가져온다. 테스트 이름 지정 규칙을 따르기 위해 테스트 함
수 이름은
AddNumber
함수의 이름과 일치한다. 다른 패키지에서 노출된 함수를 호출하기 때문
에
adder
.
AddNumbers
를 사용한다는 것도 주목하자.
패키지 내에서 노출된 함수를 호출 할 수 있는 것처럼 소스 코드의 같은 패키지 내에 있는 테스
트에서 공용
API
를 테스트 할 수 있다.
_
test
패키지 접미사를 사용하는 이점은 패키지를 ‘블
랙 박스’로 취급을 하도록 하는 것이다. 이는 노출된 함수, 메서드, 타입, 상수 및 변수를 통해
서만 상호작용할 수 있도록 강제하는 것이다. 또한 동일한 소스 디렉터리에서 두 패키지 이름
이 혼합된 테스트 소스 파일을 가질 수 있다는 점에 유의하자.
13.1.6
go
-
cmp
를 사용하여 테스트 결과 비교
복합 타입의 두 인스턴스를 철저하게 비교하는 것은 번거러울 수 있다. 반면에 구조체, 맵 및
슬라이스를 비교하기 위해
reflect
.
DeepEqual
을 사용할 수 있지만, 더 나은 방법이 있다. 구
글은 당신을 위해 비교하고 일치하지 않는 것의 상세 설명을 반환하는
go
-
cmp
라 불리는 서드-
파티 모듈 ...