본문 바로가기

GO Lang7

GO_웹 제작(5) 목표 : RESTful 코드 작성 ( DELETE ) & 테스트 코드 실행 사용된 코드 : main.go / app.go / app_test.go 순서대로 설명이 필요한 코드만 주석으로 설명하겠습니다. func TestDeleteUser func TestDeleteUser(t *testing.T) { assert := assert.New(t) ts := httptest.NewServer(NewHandler()) defer ts.Close() req, _ := http.NewRequest("DELETE", ts.URL+"/users/1", nil) resp, err := http.DefaultClient.Do(req) /* delete는 기본제공이 아니기 때문에 Do로 만들어.. 2020. 8. 13.
GO_웹 제작(4) 목표 : RESTful 코드 작성 ( GET / POST ) & 테스트 코드 실행 먼저 REST를 아주 간단히 파악하자면, 자원의 이름으로 해당 자원의 상태를 주고 받는 모든것을 말합니다. 다시말하면, HTTP를 통해 자원을 명시하고, HTTP Method( GET ,POST , PUT , DELETE )를 통해 자원의 CRUD Operation을 적용하는것을 의미합니다. CRUD Operation Create : 생성 ( POST ) Read : 조회 ( GET ) Update : 수정 ( PUT ) Delete : 삭제 ( DELETE ) HEAD : header 정보 조회 ( HEAD ) REST라는 통일된 규격을 쓰면, 프레임워크 만들기에도 좋고, 상태를 주고 받을때도 편리하기 때문에 많이 사용합.. 2020. 6. 23.
GO_웹 제작(3) 목표 : 파일 과 같은 데이터를 전송하고 받아오기 & 테스트코드 실행 (* 파일 업로드 한후, 업로드 된 파일이 업로드가 잘 되었는지 확인하기 위한 테스트 코드) 이제 데이터를 주고 받는 과정을 만들어보고 제대로 돌아가는지 확인해 보고자 합니다. 파일 데이터를 업로드를 하기위해서 HTML을 만들고 간단한 동작을 실행해 보겠습니다. 사용된 코드 : main.go / main_test.go / index.html package main import ( "fmt" "net/http" "os" "io" ) func uploadsHandler(w http.ResponseWriter, r *http.Request) { uploadFile, header, err := r.FormFile("upl.. 2020. 6. 17.
GO_웹 제작(Test 환경 구축) 목표 : 테스트환경 구축 & 필요한 패키지 설치 & 테스트코드 실행 개발을 좀더 편하게 하기 위해 테스트 환경을 구축하는것을 추천합니다. 설치 - https://github.com/smartystreets/goconvey smartystreets/goconvey Go testing in the browser. Integrates with `go test`. Write behavioral tests in Go. - smartystreets/goconvey github.com 백 그라운드에서 돌면서 자동으로 테스트를 해주기 때문에 사용하기 편리합니다. 해당 오픈소스를 설치하고 (* cmd 에 go get github.com/smartystreets/goconvey 입력하면 설치 가능) go 파일이 있는 디렉.. 2020. 6. 13.