[go] Go 언어의 테스트와 디버깅 방법에 대해 알려주세요.
Go 언어는 효율적인 동시성을 갖춘 프로그램을 쉽게 작성할 수 있는 강력한 언어입니다. 이번에는 Go 언어로 작성된 프로그램을 테스트하고 디버깅하는 방법에 대해 알아보겠습니다.
테스트
Go 언어는 테스트를 위한 내장 테스트 프레임워크를 제공하며, testing
패키지를 활용하여 단위 테스트 및 성능 테스트를 쉽게 작성할 수 있습니다.
단위 테스트 작성
package main
import "testing"
func Add(a, b int) int {
return a + b
}
func TestAdd(t *testing.T) {
result := Add(2, 3)
if result != 5 {
t.Errorf("Add function returned incorrect result: got %d, want %d", result, 5)
}
}
성능 테스트 작성
func BenchmarkAdd(b *testing.B) {
for i := 0; i < b.N; i++ {
Add(2, 3)
}
}
위와 같이 간단한 함수의 단위 테스트 및 성능 테스트를 작성할 수 있습니다.
디버깅
Go 언어에서는 내장된 디버거를 사용하여 코드 디버깅을 수행할 수 있습니다.
디버거 실행
프로젝트 디렉토리에서 아래 명령어를 실행하여 디버거를 실행합니다.
dlv debug
디버거 명령어
디버거를 실행한 후에는 다양한 명령어를 사용하여 디버깅을 수행할 수 있습니다.
break
: 중단점 설정continue
: 다음 중단점까지 실행step
: 한 줄씩 실행print
: 변수 값 출력- 등
Go 언어의 강력한 내장 테스트 프레임워크와 디버거를 통해 효율적으로 프로그램을 테스트하고 디버깅할 수 있습니다.
더 많은 정보는 Go 언어 공식 문서를 참고하시기 바랍니다.