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