[go] Go 언어에서의 단위 테스트 작성하기

Go 언어는 간결하고 강력한 표준 라이브러리를 제공하며, 빠른 개발과 간단한 단위 테스트를 작성할 수 있는 기능을 제공합니다. 이 포스트에서는 Go 언어에서의 단위 테스트 작성 방법을 소개하고, 예시를 통해 실제 코드 작성 방법을 알아보겠습니다.

1. 테스트 파일 생성

일반적으로 Go 언어에서는 테스트를 위한 별도의 파일을 생성하여 테스트 코드를 작성합니다. 테스트할 함수 또는 모듈의 소스코드 파일과 같은 디렉토리에 _test.go 확장자를 가진 파일을 생성합니다.

// 예시: calculator.go
package calculator

func Add(a, b int) int {
    return a + b
}
// 예시: calculator_test.go
package calculator

import "testing"

func TestAdd(t *testing.T) {
    result := Add(3, 5)
    if result != 8 {
        t.Errorf("Add(3, 5) = %d; want 8", result)
    }
}

위 예시에서 calculator.go 파일은 덧셈 함수를 제공하는 패키지이며, calculator_test.go 파일은 해당 함수를 테스트하는 파일입니다.

2. 테스트 함수 작성

_test.go 파일에는 테스트할 함수의 이름 앞에 Test 접두어를 붙인 테스트 함수를 작성합니다. 매개변수로 *testing.T 타입을 받는 함수를 작성하여 테스트를 수행합니다.

func TestAdd(t *testing.T) {
    result := Add(3, 5)
    if result != 8 {
        t.Errorf("Add(3, 5) = %d; want 8", result)
    }
}

위 예시에서는 TestAdd 함수가 덧셈 함수를 테스트하고 있습니다. 테스트에 실패할 경우 t.Errorf 함수를 사용하여 오류 메시지를 출력합니다.

3. 테스트 실행

테스트 파일이 작성되면 터미널에서 go test 명령어를 실행하여 테스트를 수행할 수 있습니다.

go test

위 명령어를 실행하면 테스트 함수가 실행되고, 해당 함수에서 오류가 발생하면 오류 메시지가 출력됩니다.

결론

Go 언어에서의 단위 테스트는 간단하게 작성할 수 있으며, go test 명령어를 통해 편리하게 테스트할 수 있습니다. 표준 라이브러리의 지원을 받아 강력한 테스트 코드를 작성할 수 있어, 안정적인 소프트웨어를 개발하는 데 도움이 됩니다.

감사합니다.

Go 언어 테스트 패키지 (공식 문서)