본문 바로가기

전체 글

(19)
[Things of Go] Go언어의 객체지향 모델 - 기초편 이 글은 독자가 객체지향과 포인터에 관한 기본적인 지식이 있다는 가정 하에 작성되었다. Go언어와 객체지향 현재 인기있는 대부분의 프로그래밍 언어가 그렇듯이 Go언어는 객체지향 언어이다. 다만, 보통 객체지향에 입문하는 데에 쓰는 파이썬, 자바, 혹은 C++하고는 모습이 조금 다르다. Go언어의 설계 목표가 직관성, 단순성, 명료성, 효율성이다. 이런 목표를 달성하기 위해 다른 언어들에 비해 키워드가 적고 문법이 살짝 다르다. 클래스 정의 Go언어에는 class 키워드가 없다. Go언어는 struct, 즉 구조체를 이용해서 클래스를 정의한다. 구조체는 다음과 같이 선언한다. type Dog struct { name string } 'string형 변수 name을 가지는 구조체를 Dog라 칭한다' 정도로 ..
[Go with TDD] 깔끔하게 go test의 테스트케이스를 짜는 법 주의 : 이번 글은 필자가 테이블 주도 테스트라는 개념을 배우기 전에 작성된 글이다. 이 글의 내용이 정형화된 개념인 테이블 주도 테스트에 관해 알고 싶다면 해당 글을 참조하자. 들어가기에 앞서... 이전 글의 방식으로 테스트 케이스를 작성해도 TDD를 적용하는 데에는 크게 문제가 없다. 하지만 기능이 단순한 함수임에도 테스트 코드가 길고 반복되는 부분이 많다. 이번에는 이 테스트 함수를 다듬어보도록 하겠다. 1. 반복문 같은 함수를 반복적으로 호출하면 먼저 반복문을 생각해봐야 한다. 반복문을 작성하는 법은 간단하다. 반복되는 부분은 반복문에 그대로 넣고 반복되지 않는 부분은 변수로 집어넣으면 된다. 이전 글에서 짠 코드를 보자. func TestAdd(t *testing.T) { if Add(1, 3)..
[Go with TDD] TDD를 위한 go test 기초 [Go with TDD] TDD란? 소프트웨어 공학, 개발 방법론 등에 관해 조금이라도 알고 있다면 TDD(Test-driven development, 테스트 주도 개발)라는 용어를 들어봤을 것이다. 잘 아는 사람도 많겠지만 모르는 사람들을 위해서 우선 simplear.tistory.com 이번 글에서는 Go언어에 TDD를 적용할 때 사용하는 테스트 프레임워크 go test에 대해 설명하겠다. go test란? go test는 Go언어에 자체적으로 내장된 테스트 프레임워크이다. 테스트 케이스를 형식에 맞춰서 작성하고 go test를 실행하면 자동적으로 테스트가 이루어진다. 절차 go test를 이용해 TDD를 적용하는 방법을 간단한 예시를 통해 설명하겠다. 0. 테스트할 간단한 프로그램 만들기 테스트하기..
[Go with TDD] TDD란? 소프트웨어 공학, 개발 방법론 등에 관해 조금이라도 알고 있다면 TDD(Test-driven development, 테스트 주도 개발)라는 용어를 들어봤을 것이다. 잘 아는 사람도 많겠지만 모르는 사람들을 위해서 우선 용어부터 정리해보자. TDD 단어 그대로 테스트를 통해서 개발하는 방식이다. 즉, 테스트 케이스를 작성한 후 그 테스트를 통과하기 위한 코드를 짜는 방식을 TDD라고 부른다. 회귀 테스트 회귀 테스트는 이전에 동작 했던 기능 및 함수가 다른 부분의 코드 수정 후에도 일관성 있게 동작하는 것을 검증하는 테스트이다. 회귀 테스트는 일단 작성되면 새로운 기능을 테스트할 때마다 실행된다. 회귀 테스트의 핵심은 기존의 코드가 새로운 기능에 의해 문제를 일으키지 않는다는 것을 검증하고 보증하는 것에 ..