Go 언어는 프로그램의 안정성을 유지하기 위해 내부 단위 테스트인 유닛 테스트를 지원합니다. 이를 통해 함수, 메서드 또는 타입과 같은 작은 부분이 의도대로 작동하는지 확인할 수 있습니다. 이번 포스트에서는 Go 언어에서 유닛 테스트를 작성하는 방법에 대해 알아보겠습니다.
유닛 테스트 작성
Go 언어에서 유닛 테스트를 작성하려면 표준 라이브러리에서 제공하는 testing
패키지를 활용해야 합니다. 일반적으로 테스트할 함수의 이름을 함수명_test.go
형식으로 작성하여 테스트 파일을 생성합니다. 예를 들어, add
함수를 테스트하는 경우 add_test.go
파일을 생성합니다.
테스트를 작성하는 방법은 간단합니다. 먼저 testing
패키지를 임포트하고, Test
로 시작하는 함수를 작성합니다. 이 함수는 단일 매개변수로 *testing.T
를 받고, 이를 통해 테스트를 수행하고 결과를 보고할 수 있습니다.
다음은 add
함수를 테스트하는 예시입니다.
// add.go
package main
func add(a, b int) int {
return a + b
}
// add_test.go
package main
import "testing"
func TestAdd(t *testing.T) {
total := add(5, 3)
if total != 8 {
t.Errorf("Add function did not return expected result. Got: %d, Expected: %d", total, 8)
}
}
위 예시에서는 add
함수를 호출하여 반환되는 값이 예상한 값과 일치하는지를 확인하고 있습니다. 만약 일치하지 않는다면 t.Errorf()
메서드를 통해 실패 사유를 출력할 수 있습니다.
테스트 실행
테스트를 실행하려면 터미널에서 다음 명령을 실행합니다.
go test
위 명령을 실행하면 현재 디렉토리와 그 하위 디렉토리에 있는 모든 테스트 파일을 찾아 실행하고 결과를 출력합니다.
이상으로 Go 언어에서의 유닛 테스트 작성에 대해 알아보았습니다. 유닛 테스트를 작성함으로써 안정적이고 신뢰성 있는 코드를 개발하는 데 도움이 될 수 있습니다.
참고자료:
* 해당 문서는 참고용으로 제공되었으며, 실제 테스트 코드에는 상황에 맞게 특정한 어떠한 내용도 포함되어 있지 않습니다.