草庐IT

test_msg

全部标签

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

testing - 测试中的静态文件

当我在Go中编写需要静态文件的测试时(例如文件hello.txt我测试我的程序hello.txt被正确读取),其中我应该放置静态文件吗?我应该如何在测试文件中解决它们?也就是说,目前我的设置是一个本地目录,GOPATH设置为这个目录。我有src/mypkg/myfile.gomyfile_test.gotestfiles/hello.txtworld.txt现在在myfile_test.go中,我不想使用绝对路径来引用testfiles/hello.txt。有什么惯用的方法可以做到这一点吗?这是一个合理的布局吗? 最佳答案 常用的做

testing - 测试中的静态文件

当我在Go中编写需要静态文件的测试时(例如文件hello.txt我测试我的程序hello.txt被正确读取),其中我应该放置静态文件吗?我应该如何在测试文件中解决它们?也就是说,目前我的设置是一个本地目录,GOPATH设置为这个目录。我有src/mypkg/myfile.gomyfile_test.gotestfiles/hello.txtworld.txt现在在myfile_test.go中,我不想使用绝对路径来引用testfiles/hello.txt。有什么惯用的方法可以做到这一点吗?这是一个合理的布局吗? 最佳答案 常用的做

testing - 你如何测试 golang 命令行输出

这个问题在这里已经有了答案:Howtotestafunction'soutput(stdout/stderr)inunittests(3个答案)关闭3年前。我想测试golang命令行应用程序的输出,但我不太确定如何使用go的测试库来实现。假设我有这样一个程序:packagemainimport("flag""fmt")funcmain(){const(cityDefault="SanFrancisco"cityDoc="thecityyouwanttheforecastfor")varcitystringflag.StringVar(&city,"city",cityDefault,c

testing - 你如何测试 golang 命令行输出

这个问题在这里已经有了答案:Howtotestafunction'soutput(stdout/stderr)inunittests(3个答案)关闭3年前。我想测试golang命令行应用程序的输出,但我不太确定如何使用go的测试库来实现。假设我有这样一个程序:packagemainimport("flag""fmt")funcmain(){const(cityDefault="SanFrancisco"cityDoc="thecityyouwanttheforecastfor")varcitystringflag.StringVar(&city,"city",cityDefault,c

go - testing.M 在 golang 中恢复

此恢复有效:funcTestSomeTest(t*testing.T){deferfunc(){r:=recover()fmt.Println("recovery")fmt.Println(r)}()panic("panichere")}但这不是:funcTestSomeTest(t*testing.T){panic("panichere")}funcTestMain(m*testing.M){deferfunc(){r:=recover()fmt.Println("recovery")fmt.Println(r)}()ret:=m.Run()os.Exit(ret)}为什么?我希望p

go - testing.M 在 golang 中恢复

此恢复有效:funcTestSomeTest(t*testing.T){deferfunc(){r:=recover()fmt.Println("recovery")fmt.Println(r)}()panic("panichere")}但这不是:funcTestSomeTest(t*testing.T){panic("panichere")}funcTestMain(m*testing.M){deferfunc(){r:=recover()fmt.Println("recovery")fmt.Println(r)}()ret:=m.Run()os.Exit(ret)}为什么?我希望p