软件开发中应用 go 架构开展数据驱动检测:应用 ginkgo:简约词法,自动创建和消毁数据表。应用 convey:一样简约的词法,但需要手动管理数据表。挑选架构时,请考虑词法、灵活性、小区适用等因素,以提高测试覆盖率和代码质量。
内容来自samhan666
zvvq
应用 Go 架构开展数据驱动检测 zvvq好,好zvvq
在软件开发中,检测是不可缺少的。数据驱动检测是一种强悍的方式,可以帮助大家在不同数据输入下检测应用程序的作用。在 Go 中,几个适合于数据驱动检测的实用架构。
Ginkgo 内容来自zvvq
Ginkgo 是一个流行的 Go 测试框架,适用 BDD(行为驱动开发)风格与数据驱动检测。它提供了一种简约的词法,能够轻松撰写与维护功能测试。 zvvq好,好zvvq
实例: zvvq
packagemain
import(
"testing"
内容来自zvvq,别采集哟
."github.com/onsi/gomega" 内容来自zvvq,别采集哟
) zvvq
typeTestDatastruct{ zvvq好,好zvvq
Inputint 内容来自zvvq
Outputint 本文来自zvvq
}
内容来自zvvq
vartestData=[]TestData{ zvvq好,好zvvq
{1,1}, copyright zvvq
{2,4},
内容来自samhan666
{3,9}, copyright zvvq
} 内容来自zvvq,别采集哟
funcTestSum(ttesting.T){ 内容来自samhan666
RegisterTestingT(t) zvvq
for_,data:=rangetestData{
copyright zvvq
actual:=Sum(data.Input)
Expect(actual).To(Equal(data.Output)) 本文来自zvvq
} zvvq好,好zvvq
} 内容来自zvvq,别采集哟
Gotcha 内容来自samhan
Ginkgo会自动创建和消毁一个包括传达给 DescribeTable 的测试报告的报表。因而,请确保将数据作为表针或值团本传送。
Convey
zvvq.cn
Convey是另一个用以数据驱动测试 Go 架构。它基于 Mocha 测试框架,带来了类似 Ginkgo 的简约词法。
实例:
packagemain 内容来自samhan666
import( 本文来自zvvq
"testing"
."github.com/smartystreets/goconvey/convey"
) 本文来自zvvq
typeTestDatastruct{ 内容来自zvvq,别采集哟
Inputint
内容来自zvvq,别采集哟
Outputint
zvvq.cn
}
vartestData=[]TestData{ copyright zvvq
{1,1},
本文来自zvvq
{2,4},
{3,9}, zvvq好,好zvvq
}
zvvq.cn
funcTestSum(ttesting.T){ 本文来自zvvq
Convey("TestSum",t,func(){
for_,data:=rangetestData{
内容来自samhan
So(Sum(data.Input),ShouldEqual,data.Output)
本文来自zvvq
}
}) 内容来自zvvq,别采集哟
} 内容来自zvvq,别采集哟
Gotcha
Convey不会自动创建和消毁数据表。务必手动应用 BeforeEach 和 AfterEach 来管理测试报告。
内容来自zvvq
挑选架构 zvvq.cn
在选择要用以数据驱动检测的框架时,应注意以下因素: 内容来自samhan666
词法:挑选您最喜爱的词法。 灵活性:选择一个可以满足您特定需求的框架。 小区适用:选择具有活跃小区适用的框架。根据使用数据驱动测试框架,您可以提升测试覆盖率和代码质量。
之上就是使用 Go 架构开展数据驱动检测的详细内容,大量请关注其他类似文章!