Go 언어에서는 테스트를 쉽게 작성하고 실행할 수 있는 테스트 러너가 내장되어 있어서 개발자들이 안전하게 코드를 변경하고 리팩토링할 수 있게 도와줍니다. 테스트 러너는 Go 언어의 표준 라이브러리에 포함되어 있으며, testing
패키지를 사용하여 테스트를 작성하고 실행할 수 있습니다.
테스트 작성하기
테스트를 작성할 때는 _test.go
로 끝나는 파일을 만들고, testing
패키지에 있는 testing.T
타입의 새로운 함수를 만듭니다. 이 함수는 Test
로 시작해야 하며, 테스트할 함수의 이름과 t *testing.T
를 매개변수로 받습니다.
func TestAdd(t *testing.T) {
// 테스트 내용 작성
}
테스트 함수 내에서는 t.Errorf
나 t.Fail
을 사용하여 테스트가 실패했을 때 에러를 출력할 수 있습니다. 이외에도 t.Log
를 사용하여 로그를 남길 수 있습니다.
테스트 실행하기
테스트를 실행하려면 터미널에서 다음 명령어를 입력합니다.
go test
이 명령어는 현재 디렉토리와 그 하위 디렉토리에 있는 모든 테스트 파일을 찾아 실행합니다. 테스트 함수는 Test
로 시작해야 하고, 매개변수가 *testing.T
이어야 합니다. 테스트 함수가 여러 개 있는 경우 각 함수마다 결과가 표시됩니다.
테스트 커버리지 확인하기
Go 언어는 테스트를 실행할 때 함께 테스트 커버리지를 확인할 수 있는 기능을 제공합니다. 테스트 커버리지는 테스트가 소스 코드의 얼마나 많은 부분을 커버하는지를 나타내는 지표로, 코드의 품질을 평가하는 데 도움이 됩니다.
테스트 커버리지를 확인하려면 테스트와 커버 프로필을 함께 실행합니다.
go test -coverprofile=coverage.out
이 명령은 커버리지 프로필 파일인 coverage.out
을 생성합니다. 이 파일은 테스트가 커버하는 소스 코드의 정보를 담고 있으며, 다음 명령어로 보고서를 확인할 수 있습니다.
go tool cover -html=coverage.out
위 명령어를 입력하면 웹 브라우저에서 소스 코드와 테스트 커버리지에 대한 상세한 정보를 확인할 수 있습니다.
테스트 작성과 실행, 그리고 테스트 커버리지 확인을 통해 Go 언어에서 안정적이고 견고한 소프트웨어를 개발할 수 있습니다.