🐾 Go언어로 테스트케이스 작성법

<2021.01.18 ~ 2021.01.22 TestCase 교육>
시작하는방법
- 폴더안에 go파일 하나 생성한 후
- ctrl+shift+T 클릭하면
- 파일명_test.go 파일 생성
파일 생성하는 방법
- then을 수행하기 위한 준비
- goland 실행 -> Terminal에 다음 명령어를 입력하여 패키지 설치
go get github.com/stretchr/testify/assert
- 파일명_test.go 파일 import에 추가
import (
"github.com/stretchr/testify/assert"
"testing"
)
- given-when-then 패턴 사용 매번 “//” 주석으로 분리해서 코드 작성
func 함수명(t *testing.T) {
//given
//when
//then
}
예시 코드 작성
math.go
package TestCode
import (
"github.com/stretchr/testify/assert"
"testing"
)
func TestPlus(t *testing.T) {
// given
a := 10
b := 20
//when
actual := plus(a, b)
//then
assert.Equal(t, 30, actual)
}
func TestSum(t *testing.T) {
a1 := 1
a2 := 2
a3 := 3
actual := Sum(a1, a2, a3)
assert.Equal(t, 6, actual)
}
func TestDiv(t *testing.T) {
a1 := 2.0
a2 := 3.0
actual, _ := Div(a1, a2)
assert.Equal(t, a1/a2, actual)
}
math_test.go
package TestCode
import (
"github.com/stretchr/testify/assert"
"testing"
)
func plus(x int, y int) int {
return x+y
}
func Sum(nums ...int) int {
total :=0
for _, num:= range nums{
total += num
}
return total
}
func Div(a float64, b float64) (float64, error) {
if b==0{
return 0.0, errors.New("0은 나눌수없습니다.")
return a/b, nil
}
}
terminal에서 실행
go test
결과물

Test 성공한 모습

Test 실패한 모습