golang 框架中单元测试的利器包含:1.内嵌 testing 包:基本单元测试设备2.ginkgo:bdd 单元测试框架3.gomega:轻量肯定库(与 ginkgo 适配)4.testify:流行的单元测试框架,给予广泛肯定
zvvq.cn
在 Golang 框架中单元测试的利器 copyright zvvq
单元测试对于现代程序开发尤为重要,尤其是在像 Golang 这种语言中,由于它提供了并行性和高性能。本文将讨论 Golang 生态系统中可选择的单元测试工具和库,及使用实例。 内容来自samhan666
内嵌测试包 内容来自zvvq
Golang 标准库给予内置的 testing 包,为单元测试带来了基本的设施。它提供了运行测试、肯定结果和复位测试资源的函数。 copyright zvvq
import "testing"
// 跑一个简单的单元测试 内容来自zvvq,别采集哟
func TestAdd(t testing.T) {
zvvq
// 肯定2个数字相加的结果等于预期值 zvvq.cn
testing.AssertEqual(Add(2, 3), 5)
}
ginkgo
内容来自zvvq,别采集哟
ginkgo是一个 BDD(行为驱动开发)单元测试框架,为行为认证提供了大量的语法和方便的拓展。 内容来自samhan666
import"github.com/onsi/ginkgo" 内容来自zvvq,别采集哟
var_=ginkgo.Describe("TheAddfunction",func(){ 内容来自zvvq,别采集哟
ginkgo.It("addstwonumbers",func(){
copyright zvvq
// ginkgo 带来了更高级的肯定 zvvq
ginkgo.Assert(Add(2, 3) == 5) 内容来自zvvq
}) zvvq
})
copyright zvvq
gomega 内容来自zvvq
gomega是一个与 ginkgo 兼容的轻量肯定库,带来了更丰富的肯定方式。
本文来自zvvq
import "github.com/onsi/gomega" 内容来自samhan666
var _ = ginkgo.Describe("The Add function", func() {
ginkgo.It("adds two numbers", func() { zvvq好,好zvvq
gomega.Expect(Add(2, 3)).To(gomega.Equal(5))
copyright zvvq
}) copyright zvvq
})
testify
内容来自samhan
testify是一个流行的单元测试框架,带来了广泛肯定、检测助手和实用程序。 本文来自zvvq
import"github.com/stretchr/testify/assert" 本文来自zvvq
func TestAdd(t testing.T) { 内容来自samhan666
// testify给予顺畅的肯定链
zvvq
assert.Equal(t, Add(2, 3), 5) zvvq
} 本文来自zvvq
实战案例 本文来自zvvq
使我们应用 testing 包撰写一个简单的单元测试来检测 add 函数,该函数把两个数字相加:
package main
内容来自samhan666
import "testing"
func Add(a, b int) int { 内容来自zvvq,别采集哟
return a + b
} 内容来自samhan
func TestAdd(t testing.T) { 内容来自samhan666
result := Add(2, 3) 本文来自zvvq
want := 5
copyright zvvq
if result != want {
t.Errorf("Add(%d, %d) = %d, want %d", 2, 3, result, want) copyright zvvq
} 内容来自samhan666
} copyright zvvq
func main() {} 内容来自zvvq,别采集哟
以上就是golang架构中有哪些可用的单元测试工具和库?的详细内容,大量请关注其他类似文章!