반응형
2021.01.18 ~ 2021.01.22 TestCase 교육
# 시작하는방법
1) 폴더안에 go파일 하나 생성한 후
2) ctrl+shift+T 클릭하면
3) 파일명_test.go 파일 생성
4) then을 수행하기 위한 준비
- goland 실행 -> Terminal에 다음 명령어를 입력하여 패키지 설치
go get github.com/stretchr/testify/assert
5) 파일명_test.go 파일 import에 추가
import (
"github.com/stretchr/testify/assert"
"testing"
)
6) 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
* 결과물
반응형
'회사생활 > 개발일지' 카테고리의 다른 글
[개발일지] 디자인 패턴에 대한 나의 고민? (0) | 2022.08.17 |
---|---|
[개발일지] 수습시절 멘토링 수업하면서 만든 화면 (0) | 2021.12.18 |
2021 1월~3월까지 개발일지 (0) | 2021.12.18 |
go 시작하는법 (0) | 2021.01.14 |
DB 사용법과 GoLand 실행방법 (0) | 2020.12.21 |