[go] Go 언어의 테스트 러너

Go 언어에서는 테스트를 쉽게 작성하고 실행할 수 있는 테스트 러너가 내장되어 있어서 개발자들이 안전하게 코드를 변경하고 리팩토링할 수 있게 도와줍니다. 테스트 러너는 Go 언어의 표준 라이브러리에 포함되어 있으며, testing 패키지를 사용하여 테스트를 작성하고 실행할 수 있습니다.

테스트 작성하기

테스트를 작성할 때는 _test.go로 끝나는 파일을 만들고, testing 패키지에 있는 testing.T 타입의 새로운 함수를 만듭니다. 이 함수는 Test로 시작해야 하며, 테스트할 함수의 이름과 t *testing.T를 매개변수로 받습니다.

func TestAdd(t *testing.T) {
	// 테스트 내용 작성
}

테스트 함수 내에서는 t.Errorft.Fail을 사용하여 테스트가 실패했을 때 에러를 출력할 수 있습니다. 이외에도 t.Log를 사용하여 로그를 남길 수 있습니다.

테스트 실행하기

테스트를 실행하려면 터미널에서 다음 명령어를 입력합니다.

go test

이 명령어는 현재 디렉토리와 그 하위 디렉토리에 있는 모든 테스트 파일을 찾아 실행합니다. 테스트 함수는 Test로 시작해야 하고, 매개변수가 *testing.T이어야 합니다. 테스트 함수가 여러 개 있는 경우 각 함수마다 결과가 표시됩니다.

테스트 커버리지 확인하기

Go 언어는 테스트를 실행할 때 함께 테스트 커버리지를 확인할 수 있는 기능을 제공합니다. 테스트 커버리지는 테스트가 소스 코드의 얼마나 많은 부분을 커버하는지를 나타내는 지표로, 코드의 품질을 평가하는 데 도움이 됩니다.

테스트 커버리지를 확인하려면 테스트와 커버 프로필을 함께 실행합니다.

go test -coverprofile=coverage.out

이 명령은 커버리지 프로필 파일인 coverage.out을 생성합니다. 이 파일은 테스트가 커버하는 소스 코드의 정보를 담고 있으며, 다음 명령어로 보고서를 확인할 수 있습니다.

go tool cover -html=coverage.out

위 명령어를 입력하면 웹 브라우저에서 소스 코드와 테스트 커버리지에 대한 상세한 정보를 확인할 수 있습니다.

테스트 작성과 실행, 그리고 테스트 커버리지 확인을 통해 Go 언어에서 안정적이고 견고한 소프트웨어를 개발할 수 있습니다.