8、使用Go构建微服务:从测试驱动开发到云端部署

使用Go构建微服务:从测试驱动开发到云端部署

测试驱动开发(TDD)概述

很多人都知道测试驱动开发(TDD),但真正能坚持实践的人却不多,更别说不偷工减料地实践了。在TDD中偷工减料是最糟糕的做法,你花费了时间和精力,却无法获得代码质量和功能可靠性的提升。

在TDD中,我们应该把大约95%的时间花在编写测试上,只花5%的时间编写代码。测试代码的规模通常要比被测试代码大很多,因为要覆盖函数的所有可能路径,所需的代码量比编写函数本身更多。

虽然TDD会减慢初始开发速度,但从应用的整个生命周期来看,对测试的投入会带来巨大回报,尤其是在生产环境中:
- 系统必须保证高可用性。
- 满足变更和功能请求非常紧迫。
- 调试成本高、难度大,有时甚至几乎不可能。

创建首个失败测试

为了开启服务创建的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"
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值