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

Go微服务开发:TDD与云部署实践

用 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值