行为驱动开发 (bdd) 是一种软件开发方法,致力于以用户视角撰写清晰可维修的功能测试。在 go 中,ginkgo 是一种流行的 bdd 架构,给予词法以清楚简洁地撰写根据规范的功能测试:组装:go install github.com/onsi/ginkgo/ginkgo@latest撰写检测:标准块(describe)包括功能测试(it),主要包括试验条件和预期成果。认证结论:expect() 和 to() 函数用以认证具体结论是否与预期成果配对。运行测试:ginkgo
应用 ginkgo 在 Go 内进行行为驱动开发单元测试
什么叫行为驱动开发 (BDD)?
BDD 是一种软件开发方法,重视从用户的角度编写测试用例,让检测变得更易读、更可维护。
Ginkgo 介绍
Ginkgo 是 Go 中一个流行的 BDD 架构。它提供了一套词法,用以以清晰且简约的方法撰写根据规范的功能测试。
组装 Ginkgo
使用下列指令组装 Ginkgo:
goinstallgithub.com/onsi/ginkgo/ginkgo@latest
撰写 BDD 功能测试
在 Ginkgo检测中,功能测试是标准整理的。一个标准包括功能测试的一组条件及预期成果。
比如,下面是一个功能测试用以检测一个回到登录名的函数:
packagemypackage
import(
"testing"
."github.com/onsi/ginkgo"
)
var_=Describe("GetName",func(){
It("shouldreturnthecorrectname",func(){
name:=GetName()
Expect(name).To(Equal("JohnDoe"))
})
})
在这儿:
Describe 函数定义了一个标准块,它包含功能测试。It 函数定义了一个功能测试,它包含试验条件和预期成果。GetName() 是待检测的函数。Expect() 和 To() 函数用以验证测试结论是否符合预期。实战案例
使我们撰写一个功能测试来检测一个将字符串转换为大写的函数:
packagemypackage
import(
"testing"
"github.com/onsi/ginkgo"
"github.com/onsi/gomega"
)
var_=Describe("ToUpper",func(){
It("shouldconvertthestringtouppercase",func(){
s:=ToUpper("hello")
gomega.Expect(s).To(gomega.Equal("HELLO"))
})
})
运行测试
使用下列指令运作 Ginkgo检测:
ginkgo
如果所有检测都通过,你将见到下列导出:
Ran1of1Spec(100%)
Success
以上就是怎么使用 BDD 架构(如 ginkgo)在golang框架中撰写行为推动单元测试?的详细内容,大量请关注其他类似文章!