草庐IT

time_test

全部标签

go - 如何处理 'go test all' 中的预期+无关故障?

我正在使用NPM来管理使用go1.11模块的go包的构建/测试/版本生命周期。在发布之前,我想检查“一切”,包括模块,所以我运行:gotestall(在所有包含的模块中运行测试)。问题是go1.11.5中的标准os包(至少)在某些Mac版本/环境(包括我的)上失败。这没关系,与我的目的无关,因为失败发生在我不使用的功能中。但是,这会导致发布过程失败,因为gotest以非零状态退出。关于如何处理这个问题有什么建议吗?如果有一种方法可以为我本地测试的调用树中的函数运行所有测试,那就太好了(gotestall-relevant)。或者,如果我可以命名并跳过测试,那也很好。我知道-run标志,

go - 无法理解 go test -race : RACE: DATA WARNING stack trace

我在测试我的项目时遇到了DATARACE警告,想知道是否有人愿意帮助我破译这个问题。我过去从未尝试过测试go例程,我发现很难全神贯注于数据竞赛。我在描述中提供了指向未解决问题的链接,并在问题描述中提供了跟踪。我真的很感激一些帮助,只是从学习调试类似问题和为将来的go例程编写更好的测试方面。https://github.com/nitishm/vegeta-server/issues/52下面还提供了跟踪的片段===RUNTest_dispatcher_Cancel_Error_completedINFO[0000]creatingnewdispatchercomponent=dispa

unit-testing - 如何测试/重构测试调用 http.ListenAndServe 的函数

我正在学习go并且正在开发一个简单的服务,该服务从队列中提取一些数据并将其保存在数据库中。它还运行一个网络服务器以允许抓取数据。现在我有两个go文件(为简洁起见省略了一些文本):funcmain(){parseConfig()s:=&Service{ServiceConfig:config}err:=s.Run()iferr!=nil{panic(err)}}然后是服务的定义(为简洁起见,再次省略了一些部分):func(s*Service)Run()error{iferr:=s.validate();err!=nil{returnerr}iferr:=s.initDB();err!=n

unit-testing - Uber Cadence 事件的单元测试上下文

我正在为使用UUID从联系人服务检索联系人的节奏事件功能编写单元测试。我想知道我应该将什么上下文传递给节奏事件。activity.Register(GetContactActivityFunc)funcGetContactActivityFunc(ctxcontext.Context,inputContactBbInput)(ContactBbOutput,error){...}这是测试函数。funcTestGetContactActivityFunc(t*testing.T){mockCSInterface:=&mocks.Interface{}csClient:=outbound.

postgresql - 连接 : connection timed out

我已经使用gosql包成功连接到Postgres数据库:...db,err:=sql.Open("postgres",connStr)然后我使用返回的数据库执行(长时间运行的)查询:rows,err:=db.Query(...)我得到了错误:dialtcpxx.xxx.xxx.xx:5432:connect:connectiontimedout我有几个问题:为什么连接超时?我能做些什么来防止它超时吗? 最佳答案 sql.Open()mayjustvalidateitsargumentswithoutcreatingaconnecti

go - 如何在 DataStore 中存储 *time.Time 类型的结构字段的当前时间?

这个问题在这里已经有了答案:Assignvaluereturnedfromfunctiontopointer(1个回答)关闭3年前。根据我的要求,我创建了一个结构为-typeMyRulestruct{CreatedAttime.Time`json:"createdAt"datastore:"createdAt,noindex"`UpdatedAt*time.Time`json:"updatedAt"datastore:"updatedAt,noindex"`}对于createdAt字段,我可以将当​​前时间存储为-MyRule.CreatedAt=time.Now()但是,将当前时间存

go - 为什么我的程序在添加 time.sleep 时挂起?

我正在尝试对我的程序进行测试,该程序将在设定的时间间隔内保存到磁盘。我的问题是当我添加time.Sleep测试时,无论持续时间如何,程序都会挂起。我的预期行为是我允许它休眠,并且go例程应该在后台运行并保存到磁盘上。这是作为测试中的goroutine运行的相关函数。节点服务.gofuncrunRegistryBackup(reg*NodeRegistry,intervalint,killchanchanbool){log.SetPrefix("[RegistryBackup]\t")log.Printf("Intializingbackupevery%dseconds",interva

go - 如何在 GoLang 的命令行上取消设置标志 Visited for Tests

我正在尝试运行每次使用不同参数多次调用同一函数的测试。这是一个接受不同命令行标志的应用程序。如果未提供命令行标志,则使用默认值。flagset=make(map[string]bool)flagset["flag1"]=falseflagset["flag2"]=falseflagset["flag3"]=falseflagset["flag4"]=falsefuncLoadCommandLineArguments(args[]string)error{err:=flag.CommandLine.Parse(args)/*Doerrorhandling*/flag.Visit(func

linux - Go 导致 OpenGL 与 time.Tick 但不是 time.After 发生段错误

我有以下两个文件:bridge.go:packagecube//#cgoLDFLAGS:-lGL-lGLEW-lglfw//#include//intinit(GLFWwindow**);//voidrender(GLFWwindow*);import"C"import("fmt""time")funcInit(){varwindow*_Ctype_GLFWwindowwindowWat:=(*[0]byte)(window)fmt.Printf("Callinginit\n")ifC.init(&windowWat)!=1{return}window=(*_Ctype_GLFWwin

time - 戈朗 : throttle (time delay) function is not working in goroutine (works fine in main thread)

所以我正在编写一个实用程序来查询工作中的API,它们将每10秒限制为20次调用。很简单,我会将我的通话时间限制在自上次通话后至少0.5秒。在我尝试使用goroutine之前,我的Throttle实用程序运行良好。现在我正在使用结构/方法组合:func(c*CTKAPI)Throttle(){ifc.Debug{fmt.Println("\t\t\tEnteringThrottle()")}for{//incasesomethingelsemakesacallwhilewe'resleeping,weneedtore-checkift:=time.Now().Sub(c.LastCall