用 Go 构建微服务:测试驱动开发与云端部署
1. 测试驱动开发(TDD)概述
在开发微服务时,测试驱动开发(TDD)是一种强大的方法。虽然很多人都知道 TDD 的好处,但真正坚持实践且不偷工减料的人却很少。TDD 要求我们先编写测试,再编写实现代码,理想情况下,我们会花费 95% 的时间编写测试,5% 的时间编写代码,测试代码的规模通常也会比被测试代码大很多。
有人认为编写测试是浪费时间,会增加产品上市时间。但从应用的整个生命周期来看,这种观点是短视的。开发不仅仅是添加功能的阶段,测试投资在应用的整个生命周期,尤其是生产环境中,会带来巨大的回报。在生产环境中,服务的正常运行时间至关重要,满足变更和功能请求非常紧迫,而调试成本高、难度大,甚至有时几乎不可能。
2. 编写首个失败测试
为了开始我们的 TDD 之旅,我们创建一个名为 handlers_test.go 的文件,用于测试 handlers.go 中的函数。我们要为处理创建新比赛请求的 HTTP 处理程序编写测试。根据 Apiary 文档,该函数成功时应返回 HTTP 状态码 201(Created)。
以下是 handlers_test.go 的代码:
package main
import (
"bytes"
"fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
"testing"
"github.com/unrol
Go微服务开发:TDD与云部署实践
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



