Language/Go
[Learn Go with Tests] Integer
잉퓨_
2024. 7. 18. 00:46
728x90
해당 포스팅은 Learn Go with Tests Gitbook을 따라 실습한 내용을 정리한 문서입니다.
테스트 코드 작성하기
package integers
import "testing"
func TestAdder(t *testing.T) {
sum := Add(2, 2)
expected := 4
if sum != expected {
t.Errorf("expected '%d' but got '%d'", expected, sum)
}
}
현재 상태에서 go test를 사용하게 되면 Add 함수가 없다는 오류가 발생한다. 이제부터 테스트를 실행할 수 있는 최소한의 코드를 작성한 뒤 결과에 대해 확인해보고자 한다.
package integers
func Add(a int, b int) int {
return 0
}
adder.go 파일을 다음과 같이 작성하고 테스트를 실행해보자
함수를 작성할 때 두개 이상의 같은 타입의 정수를 가진다면 (x int, y int)도 가능하지만 (x, y int)와 같이 간결하게 작성하는 방식 또한 가능하다.
다음과 같이 나온다. 테스트는 올바르게 틀린 내용에 대해서 나타내주고 있다.
제대로 코드를 a+b로 고쳐보자
package integers
func Add(a, b int) int {
return a + b
}
테스트를 실행하면 통과하게 된다.
리팩토링 하기
해당 내용에서는 리팩토링을 할 수 있는 내용이 크게 존재하지 않는다. 따라서, 반환인자의 이름을 개발자의 텍스트 편집이게서 추가하고자 한다.
adder_test.go에 다음과 같은 ExampleAdd 함수를 추가해보자
func ExampleAdd() {
sum := Add(1, 5)
fmt.Println(sum)
// Output: 6
}
728x90