ZVVQ代理分享网

golang 框架中有哪些可用的单元测试工具和库?(

作者:zvvq博客网
导读golang 框架中单元测试的利器包括:1.内置 testing 包:基本单元测试设施2.ginkgo:bdd 单元测试框架3.gomega:轻量级断言库(与 ginkgo 兼容)4.testify:流行的单元测试框架,提供广泛的断言

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架构中有哪些可用的单元测试工具和库?的详细内容,大量请关注其他类似文章!