본문 바로가기
Programing Language/Golang

Golang 유닛 테스트 코드 작성

by BenKangKang 2020. 10. 20.

Go 는 테스트 프레임워크를 내장(build-in)하고 있다. testing페키지를 이용해서 유닛 테스트 코드를 만들고 go test명령으로 테스트를 수행하면 된다. 

 유닛 테스트 파일의 이름은 반드시 _test.go로 끝나야 한다.

 

설명은 아래 문서로 대체한다. 꼭 한번 읽어보는 걸 추천한다

golang.org/pkg/testing/

 

테스트 코드는 대충 아래와 같은 패턴을 갖는다

package storage

import (
	"testing"
)

func Test_Add(t *testing.T) {
	result := add(1, 2)
	if result != 3 {
		t.Fatal("this is impossible!")
	}
}

 

본인은 Gorm 도입 중이여서 하나하나 테스트 코드를 작성하면서 기능을 구현하고 있다.

package storage

import (
	"testing"
)

func initDatabase() (*ORM, error) {
	return New("localhost", "test", "test!", "test")
}

func Test_Connect(t *testing.T) {
	db, err := initDatabase()
	if err != nil {
		t.Fatal(err)
	}
	if err := db.createTable(); err != nil {
		t.Fatal(err)
	}
}

 

침고로 -v 옵션을 주면 자세한 내역을 볼 수 있다.

go test -v

아래와 같이 로그가 뜨면 성공!

 

Golang TDD 에 대한 글이니 한번 같이 읽어보자.

golangkorea.github.io/post/tdd-with-golang/

그럼 이만!

'Programing Language > Golang' 카테고리의 다른 글

Gorm  (0) 2020.09.07

댓글