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

<2021.01.18 ~ 2021.01.22 TestCase 교육>

시작하는방법

  1. 폴더안에 go파일 하나 생성한 후
  2. ctrl+shift+T 클릭하면
  3. 파일명_test.go 파일 생성 image

    파일 생성하는 방법

  4. then을 수행하기 위한 준비
  • goland 실행 -> Terminal에 다음 명령어를 입력하여 패키지 설치
go get github.com/stretchr/testify/assert
  1. 파일명_test.go 파일 import에 추가
import (
    "github.com/stretchr/testify/assert"
    "testing"
)
  1. 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

결과물

image

Test 성공한 모습

image

Test 실패한 모습

​ ​ ​