草庐IT

test_phoenix

全部标签

unit-testing - 比较 Go 中的多个结构字段

我想知道是否有一种通用的方法可以对相当大的结构的值进行单元测试,而不必在彼此下面编写许多if语句。我知道在Go中我们可以使用表驱动的单元测试,但我还没有找到我们如何使用结构实现这种表驱动的方法。我的目标是创建一个结构,用它做一些事情,并对结构的新值进行单元测试。有谁知道我如何通过表驱动测试来实现这一点,或者是否有更好的方法来做到这一点? 最佳答案 如果需要检查所有字段,只需比较结构:typeSstruct{AintBfloat64}funcmain(){fmt.Println(S{1,3.14}==S{1,3.14})//Print

unit-testing - 比较 Go 中的多个结构字段

我想知道是否有一种通用的方法可以对相当大的结构的值进行单元测试,而不必在彼此下面编写许多if语句。我知道在Go中我们可以使用表驱动的单元测试,但我还没有找到我们如何使用结构实现这种表驱动的方法。我的目标是创建一个结构,用它做一些事情,并对结构的新值进行单元测试。有谁知道我如何通过表驱动测试来实现这一点,或者是否有更好的方法来做到这一点? 最佳答案 如果需要检查所有字段,只需比较结构:typeSstruct{AintBfloat64}funcmain(){fmt.Println(S{1,3.14}==S{1,3.14})//Print

去构建错误 : no non-test Go files in <dir>

尝试运行时出错gobuild./...来self的$GOPATH/src。nonon-testGofilesin错误是正确的中没有测试文件但为什么会导致编译错误?是错误吗? 最佳答案 称其为错误……如果测试通过,构建应该不会失败。归档于此:https://github.com/golang/go/issues/22409我提交的错误是https://github.com/golang/go/issues/8279的副本看起来它在1.3中被破坏了。 关于去构建错误:nonon-testGo

去构建错误 : no non-test Go files in <dir>

尝试运行时出错gobuild./...来self的$GOPATH/src。nonon-testGofilesin错误是正确的中没有测试文件但为什么会导致编译错误?是错误吗? 最佳答案 称其为错误……如果测试通过,构建应该不会失败。归档于此:https://github.com/golang/go/issues/22409我提交的错误是https://github.com/golang/go/issues/8279的副本看起来它在1.3中被破坏了。 关于去构建错误:nonon-testGo

unit-testing - 如何在导入包中重用测试代码?

这个问题在这里已经有了答案:CanIcreatesharedtestutilities?(2个答案)关闭3年前。这是我的目录层次结构:/|--main.go//packagemain,anHTTPserverwhichacceptsrequestandcallsC/UAPIsinpkg1tofinishcertaintask|--main_test.go//wantstocallveryfyTaskNumberinpkg1_test|--pkg1//packagepkg1,CRUDAPIswithRetrieve&Deleteunexportedforsafety|--pkg1_tes

unit-testing - 如何在导入包中重用测试代码?

这个问题在这里已经有了答案:CanIcreatesharedtestutilities?(2个答案)关闭3年前。这是我的目录层次结构:/|--main.go//packagemain,anHTTPserverwhichacceptsrequestandcallsC/UAPIsinpkg1tofinishcertaintask|--main_test.go//wantstocallveryfyTaskNumberinpkg1_test|--pkg1//packagepkg1,CRUDAPIswithRetrieve&Deleteunexportedforsafety|--pkg1_tes

unit-testing - 当测试在另一个包中时获取覆盖率统计信息

我的测试与我的代码不在同一个包中。我发现这是一种使用大量测试文件组织代码库的不那么困惑的方式,而且我读到这是一个好主意,可以将测试限制为通过包的公共(public)api进行交互。所以它看起来像这样:api_client:Client.goArtistService.go...api_client_testsArtistService.Events_test.goArtistService.Info_test.goUtilityFunction.go...我可以输入gotestbandsintown-api/api_client_tests-cover并查看0.181s覆盖率:100.

unit-testing - 当测试在另一个包中时获取覆盖率统计信息

我的测试与我的代码不在同一个包中。我发现这是一种使用大量测试文件组织代码库的不那么困惑的方式,而且我读到这是一个好主意,可以将测试限制为通过包的公共(public)api进行交互。所以它看起来像这样:api_client:Client.goArtistService.go...api_client_testsArtistService.Events_test.goArtistService.Info_test.goUtilityFunction.go...我可以输入gotestbandsintown-api/api_client_tests-cover并查看0.181s覆盖率:100.

unit-testing - 在 docker build 中缓存 "go get"

我想将我的golang单元测试封装在一个docker-compose脚本中,因为它依赖于几个外部服务。我的应用程序有很多依赖项,所以需要一段时间才能goget。我怎样才能以允许docker容器构建的方式缓存包,而不必每次我想测试时都下载所有依赖项?我的Dockerfile:FROMgolang:1.7CMD["go","test","-v"]RUNmkdir-p/go/src/appWORKDIR/go/src/appCOPY./go/src/appRUNgo-wrapperdownloadRUNgo-wrapperinstall每次我想运行单元测试时,我都会在以下脚本上运行docke

unit-testing - 在 docker build 中缓存 "go get"

我想将我的golang单元测试封装在一个docker-compose脚本中,因为它依赖于几个外部服务。我的应用程序有很多依赖项,所以需要一段时间才能goget。我怎样才能以允许docker容器构建的方式缓存包,而不必每次我想测试时都下载所有依赖项?我的Dockerfile:FROMgolang:1.7CMD["go","test","-v"]RUNmkdir-p/go/src/appWORKDIR/go/src/appCOPY./go/src/appRUNgo-wrapperdownloadRUNgo-wrapperinstall每次我想运行单元测试时,我都会在以下脚本上运行docke