ginkgo编写测试用例

安装依赖

go get github.com/onsi/ginkgo/v2/ginkgo
go install github.com/onsi/ginkgo/v2/ginkgo
go get github.com/onsi/gomega

运行用例

mkdir test
cd test
ginkgo bootstrap

ginkgo常用的模块是It、Describe、BeforeEach、AfterEach、BeforeSuite、AfterSuite。
It指定单个测试用例。
Describe归类测试用例。
BeforeEach在每个测试例执行前执行。
AfterEach在每个测试例执行后执行。
BeforeSuite在该测试集执行前执行。
AfterSuite在该测试集执行后执行。

package test_test

import (
	"testing"

	. "github.com/onsi/ginkgo/v2"
	. "github.com/onsi/gomega"
)

func TestTest(t *testing.T) {
	RegisterFailHandler(Fail)
	RunSpecs(t, "Test Suite")
}

var count int = 0

var _ = BeforeSuite(func() {
	count++
	Expect(count).To(Equal(1))
})

var _ = AfterSuite(func() {
	count = 0
	Expect(count).To(Equal(0))
})

var _ = Describe("count test", func() {
	BeforeEach(func() {
		count++
	})

	AfterEach(func() {
		count--
	})

	Describe("count negative test", func() {
		It("count must negative", func() {
			count -= 10
			Expect(count < 0).To(Equal(true))
		})
	})
})

指定测试类执行

ginkgo --focus="count negative test"

调试用例

go install -v github.com/go-delve/delve/cmd/dlv@latest

vscode安装插件Ginkgo Test Explorer。
点击左侧图标Test Explorer

选择某个用例,点击debug test

posted on 2024-09-08 16:24  王景迁  阅读(31)  评论(0编辑  收藏  举报

导航