zvvq技术分享网

如何使用 BDD 框架(如 ginkgo)在 golang 框架中编写

作者:zvvq博客网
导读行为驱动开发 (bdd) 是一种软件开发方法,专注于以用户角度编写清晰可维护的测试用例。在 go 中,ginkgo 是一种流行的 bdd 框架,提供语法以清晰简洁地编写基于规范的测试用例:安装

行为驱动开发 (bdd) 是一种软件开发方法,致力于以用户视角撰写清晰可维修的功能测试。在 go 中,ginkgo 是一种流行的 bdd 架构,给予词法以清楚简洁地撰写根据规范的功能测试:组装:go install github.com/onsi/ginkgo/ginkgo@latest撰写检测:标准块(describe)包括功能测试(it),主要包括试验条件和预期成果。认证结论:expect() 和 to() 函数用以认证具体结论是否与预期成果配对。运行测试:ginkgo

内容来自samhan

内容来自samhan

应用 ginkgo 在 Go 内进行行为驱动开发单元测试 zvvq

什么叫行为驱动开发 (BDD)?

zvvq好,好zvvq

BDD 是一种软件开发方法,重视从用户的角度编写测试用例,让检测变得更易读、更可维护。

内容来自samhan666

Ginkgo 介绍

本文来自zvvq

Ginkgo 是 Go 中一个流行的 BDD 架构。它提供了一套词法,用以以清晰且简约的方法撰写根据规范的功能测试。

内容来自zvvq,别采集哟

组装 Ginkgo

zvvq.cn

使用下列指令组装 Ginkgo: zvvq.cn

goinstallgithub.com/onsi/ginkgo/ginkgo@latest

zvvq好,好zvvq

撰写 BDD 功能测试

copyright zvvq

在 Ginkgo检测中,功能测试是标准整理的。一个标准包括功能测试的一组条件及预期成果。

zvvq

比如,下面是一个功能测试用以检测一个回到登录名的函数: 本文来自zvvq

packagemypackage

zvvq

import( zvvq

"testing"

内容来自samhan

."github.com/onsi/ginkgo" zvvq

) 内容来自samhan666

var_=Describe("GetName",func(){

本文来自zvvq

It("shouldreturnthecorrectname",func(){

内容来自zvvq

name:=GetName() 内容来自zvvq

Expect(name).To(Equal("JohnDoe")) 内容来自zvvq,别采集哟

})

zvvq.cn

})

内容来自samhan666

在这儿: 内容来自zvvq

Describe 函数定义了一个标准块,它包含功能测试。It 函数定义了一个功能测试,它包含试验条件和预期成果。GetName() 是待检测的函数。Expect() 和 To() 函数用以验证测试结论是否符合预期。实战案例

内容来自samhan

使我们撰写一个功能测试来检测一个将字符串转换为大写的函数: 本文来自zvvq

packagemypackage 本文来自zvvq

import(

内容来自zvvq

"testing" 内容来自samhan666

"github.com/onsi/ginkgo"

本文来自zvvq

"github.com/onsi/gomega" zvvq好,好zvvq

) 内容来自zvvq,别采集哟

var_=Describe("ToUpper",func(){ 内容来自zvvq

It("shouldconvertthestringtouppercase",func(){ zvvq.cn

s:=ToUpper("hello") zvvq

gomega.Expect(s).To(gomega.Equal("HELLO"))

本文来自zvvq

})

copyright zvvq

}) zvvq好,好zvvq

运行测试

内容来自zvvq,别采集哟

使用下列指令运作 Ginkgo检测:

zvvq

ginkgo zvvq.cn

如果所有检测都通过,你将见到下列导出: 内容来自samhan

Ran1of1Spec(100%)

copyright zvvq

Success

内容来自samhan666

以上就是怎么使用 BDD 架构(如 ginkgo)在golang框架中撰写行为推动单元测试?的详细内容,大量请关注其他类似文章! zvvq.cn