草庐IT

run_test

全部标签

testing - 如何对项目中除 vendor 包之外的所有测试文件运行 go test

我的项目文件夹包含:MakefileREADME.mdcomponent/driver/service/vendor/worker/我想对所有测试文件运行gotest,例如foobar_test.go文件,vendor包中的测试文件除外。我最接近成功的是gotest./...但其中包括vendor测试文件。我在文档中看到您可以将正则表达式传递给-run选项,但我无法让它正常工作。例如,我尝试了gotest./*,但我得到了一堆can'tloadpackageerrors。执行此操作的最佳方法是什么? 最佳答案 -run模式只匹配测试

go - Cloud-Run 进程失败,出现 500 状态代码和 membarrier gvisor 错误

背景该服务是一个简单的Go程序,可将文件从CloudStorage通过管道传输到浏览器。在我的Macbook上一切正常,但在Cloud-Run(托管)上某些请求失败。主要是大型mp4文件。问题日志仅显示500状态,浏览器也是如此。但是我的服务除了开始复制文件之外没有记录任何其他内容。没有IO错误或任何问题。此消息在500状态前4秒显示:容器沙盒限制:不支持的系统调用membarrier(0x10,0x0,0x0,0x8,0x775dce0b030,0x775dce0b000)。请参阅https://gvisor.dev/c/linux/amd64/membarrier了解更多信息。我无

go - Cloud-Run 进程失败,出现 500 状态代码和 membarrier gvisor 错误

背景该服务是一个简单的Go程序,可将文件从CloudStorage通过管道传输到浏览器。在我的Macbook上一切正常,但在Cloud-Run(托管)上某些请求失败。主要是大型mp4文件。问题日志仅显示500状态,浏览器也是如此。但是我的服务除了开始复制文件之外没有记录任何其他内容。没有IO错误或任何问题。此消息在500状态前4秒显示:容器沙盒限制:不支持的系统调用membarrier(0x10,0x0,0x0,0x8,0x775dce0b030,0x775dce0b000)。请参阅https://gvisor.dev/c/linux/amd64/membarrier了解更多信息。我无

windows - GAE 转到 Windows - "Cannot run program", "is not a valid Win32 application"

在安装和配置适当的SDK等之后,我一直在尝试运行我在Windows机器上使用GoClipse在我的Mac上开发的GAEGo项目。尝试运行该项目时,出现此错误:Exceptionoccurredexecutingcommandline.Cannotrunprogram"C:\GoogleAppEngine\dev_appserver.py"(indirectory"D:\Golang\workspace\Project\src\pkg"):CreateProcesserror=193,%1isnotavalidWin32application如何修复该错误以运行我的项目?

windows - GAE 转到 Windows - "Cannot run program", "is not a valid Win32 application"

在安装和配置适当的SDK等之后,我一直在尝试运行我在Windows机器上使用GoClipse在我的Mac上开发的GAEGo项目。尝试运行该项目时,出现此错误:Exceptionoccurredexecutingcommandline.Cannotrunprogram"C:\GoogleAppEngine\dev_appserver.py"(indirectory"D:\Golang\workspace\Project\src\pkg"):CreateProcesserror=193,%1isnotavalidWin32application如何修复该错误以运行我的项目?

testing - Go,Golang : travis error for main program, go get -v

在我的repo的子目录中,我有一些带有packagemain的脚本来显示我的包的一些示例用法。但这在Travis上进行测试时会出现以下错误。repoexample-dirsub-dirmain.go//thisgivesmeerrorlikethefollowinggithub.com/~/directory-for-main-program命令“goget-v./...”失败。正在重试,第2个,共3个。我只在Travis中看到这个错误,在使用gotest的本地机器中看不到。有没有办法把主程序分开,还能通过Travis测试? 最佳答案

testing - Go,Golang : travis error for main program, go get -v

在我的repo的子目录中,我有一些带有packagemain的脚本来显示我的包的一些示例用法。但这在Travis上进行测试时会出现以下错误。repoexample-dirsub-dirmain.go//thisgivesmeerrorlikethefollowinggithub.com/~/directory-for-main-program命令“goget-v./...”失败。正在重试,第2个,共3个。我只在Travis中看到这个错误,在使用gotest的本地机器中看不到。有没有办法把主程序分开,还能通过Travis测试? 最佳答案

testing - 在 Go 中使用反射检查兼容类型

虽然我知道在Go中panic可能不是惯用的,但我想测试以确保函数在特定条件下而不是在其他条件下panic。函数示例。funcPanicOnErr(potentialErrerror){ifpotentialErr!=nil{panic(potentialErr)}}下面是一个检查函数是否会panic的实现。funcInvocationCausedPanic(finterface{},params...interface{})bool{//Obtainthefunction'ssignature.reflectedFunc:=reflect.ValueOf(f)funcType:=ref

testing - 在 Go 中使用反射检查兼容类型

虽然我知道在Go中panic可能不是惯用的,但我想测试以确保函数在特定条件下而不是在其他条件下panic。函数示例。funcPanicOnErr(potentialErrerror){ifpotentialErr!=nil{panic(potentialErr)}}下面是一个检查函数是否会panic的实现。funcInvocationCausedPanic(finterface{},params...interface{})bool{//Obtainthefunction'ssignature.reflectedFunc:=reflect.ValueOf(f)funcType:=ref

unit-testing - 测试我的代码不等待的 Goroutine

我有一个并发执行的函数。它的任务是运行命​​令行方法,如果有错误则记录错误。我的主执行线程不等待此方法完成。它只是乐观地返回。如何测试我的功能?假设我给它一个cmdStr,例如{"sleep","1"},它可以工作但不会立即返回,我怎样才能让我的测试等待这个函数完成?我想确保运行它的实际程序不必必须等待它完成。funcrunCmd(cmdStr[]string,errChanchanerror){cmd:=exec.Command(cmdStr...)varoutbytes.Buffercmd.Stdout=&outerr:=cmd.Start()iferr!=nil{errChan