728x90
반응형
사내 스터디에서 TDD를 배워봤다.
앞으로 고랭 문제나 모듈 개발할 때 TDD를 활용하면 좋겠다고 생각했다.
그래서 이번 주 스터디 문제를 TDD로 풀어보았다. 다행히 이번 주 스터디 리더가 쉬운 문제를 내서 TDD로 풀어볼 만했다.
문제는 아주 간단하다.
입출력 예만 간단히 보여주자면 아래와 같다.
나는 이제 이 문제를 그냥 접근해 볼 수도 있었지만 TDD를 활용해 test 코드를 작성하고 풀어보았다.
import (
"testing"
"github.com/stretchr/testify/assert"
)
우선 위 두 라이브러리를 import 해서 test 코드를 작성할 수 있도록 해주었다.
그리고 아래와 같이 전체 테스트 코드를 작성해 보았다. 조건이 두 가지뿐이었고 예시 케이스로만 테스트해도 모두 통과하기 때문에 두 예시에 대한 테스트 코드만 작성했다.
전체 코드
package study_0603_1
import (
"testing"
"github.com/stretchr/testify/assert"
)
func Test1(t *testing.T) {
a := []int{1, 2, 3, 4}
b := []int{-3, -1, 0, 2}
assert.Equal(t, 3, solution(a, b))
}
func Test2(t *testing.T) {
a := []int{-1,0,1}
b := []int{1, 0, -1}
assert.Equal(t, -2, solution(a, b))
}
이 테스트 코드에 맞게 main 코드를 작성했다.
solution 코드
package study_0603_1
func solution(a []int, b []int) int {
ret := 0
for idx, _ := range a{
ret += a[idx] * b[idx]
}
return ret
}
간단하네!?
끝!
728x90
반응형
'코딩해 > Go 고랭' 카테고리의 다른 글
Go언어 | REST API | 좋은 API 디자인하기 | 개발 필수 지식 (0) | 2021.08.20 |
---|---|
[링크드인러닝] Go -2 | syntax | go 기본 | 고랭 문법 (0) | 2021.06.11 |
[링크드인러닝] - Go 코스 - 1 (0) | 2021.05.23 |
[Go / Golang 고랭] Mac 맥 Goland 개발환경 설정 | Jetbrains (0) | 2021.04.08 |