[go] Go 언어의 유닛 테스트 작성

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 언어에서의 유닛 테스트 작성에 대해 알아보았습니다. 유닛 테스트를 작성함으로써 안정적이고 신뢰성 있는 코드를 개발하는 데 도움이 될 수 있습니다.

참고자료:

* 해당 문서는 참고용으로 제공되었으며, 실제 테스트 코드에는 상황에 맞게 특정한 어떠한 내용도 포함되어 있지 않습니다.