Context
func Server(store Store) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, store.Fetch())
}
}type Store interface {
Fetch() string
}type StubStore struct {
response string
}
func (s *StubStore) Fetch() string {
return s.response
}
func TestServer(t *testing.T) {
data := "hello, world"
svr := Server(&StubStore{data})
request := httptest.NewRequest(http.MethodGet, "/", nil)
response := httptest.NewRecorder()
svr.ServeHTTP(response, request)
if response.Body.String() != data {
t.Errorf(`got "%s", want "%s"`, response.Body.String(), data)
}
}테스트부터 작성하기
테스트 실행해보기
테스트를 통과하는 최소한의 코드 작성하기
리팩터링 하기
테스트부터 작성하기
테스트 실행해보기
테스트를 통과하는 최소한의 코드 작성하기
테스트부터 작성하기
테스트 실행해보기
테스트를 통과하는 최소한의 코드 작성하기
정리
이 챕터에서 다룬 내용
context.Value는 무엇인가?
하지만...
추가 자료
Last updated