草庐IT

MaCAPI测试工具

全部标签

go - 测试不同包中存在的方法

在写测试用例的时候发现了两个问题:有3个测试文件,其中one_test.go和two_test.go可以添加到server_suites_test.go和它运行良好。但是three_point_one_test.go的功能无法添加到server_suites_test.go中,因为无法导入_test.go。one_test.go和two_test.go使用由server_test.go创建的gRPC客户端对象。实际上,server_test.go创建了一个gRPC服务器和一个客户端,这个客户端被其他测试用例使用。当前three_point_one_test.go无法访问此客户端。因此,

go - 登录 Golang 测试用例

这个问题在这里已经有了答案:HowdoyouprintinaGotestusingthe"testing"package?(8个答案)关闭4年前。我有这个:packageutils_testimport("huru/utils""testing")funcTestSetFields(t*testing.T){t.Log("dest.Foo")src:=struct{}{}dest:=struct{}{}utils.SetFields(&src,&dest)t.Log("dest.Foo",dest)}然后我运行这个命令:gotest-runTestSetFields./src/huru

go - 在 Go 中测试通过 json http 响应返回的错误

我目前正在使用Go开发一个图像处理程序,它旨在拒绝上传不受支持的文件。我的意图是让Go程序通过服务器http.ResponceWritter返回错误,详细说明拒绝的情况,作为json,供上传服务使用。如何在服务器代码中设置错误:typeErrorstruct{ImgHandlerError`json:"error"`}typeImgHandlerErrorstruct{Messagestring`json:"message"`Codestring`json:"code"`}funcMakeError(message,codestring)*Error{errorMessage:=&Er

unit-testing - 如何修复测试用例中的 "missing type in composite literal"

我正在尝试为函数ReadField()编写测试代码,但我在定义测试用例时遇到了困难。它给出了一个错误“复合文字中缺少类型”。我相信这只是一些语法错误。我已经尝试在函数体之外定义结构体,但它仍然会给出相同的错误。ReadField(string,string,bool)(bool,string)funcTestReadField(t*testing.T){testCases:=[]struct{NamestringInputstruct{FirstStringstringSecondStringstringSomeBoolbool}Expectedstruct{IsValidboolMe

unit-testing - golang 中用于测试的模拟函数

我想通过模拟其他包(package2)中的FetchAllData()和SaveData()为CreateData()函数编写单元测试用例,请帮助我用示例模拟该函数,提前致谢funcCreateData(inputpackage1.InputRequest)(outputpackage1.OututResponse){..somecode..somecodeDBdata,err:=package2.FetchAllData()//functiontofetchdatafromdatabase..somecode..somecodeid,insertErr:=package2.SaveD

go - 测试函数以获得 100% 的覆盖率

您将如何为以下函数编写测试以获得100%的覆盖率?funccountLines(files[]string)int{sum:=0for_,e:=rangefiles{f,err:=os.Open(e)iferr!=nil{fmt.Fprintf(os.Stderr,"err:%v\n",err)continue}sum+=countFileLine(f)f.Close()}returnsum} 最佳答案 极端主义方式更改方法签名以将func(string)(os.File,error)作为输入并在进行测试时注入(inject)它。沿

Go - 测试 - 无输出

我有以下测试正在运行,但在运行时没有给出“官方”输出:funcTestDeployLive(t*testing.T){//EXPECTINGPASSun,pw:=GetGlobalAdminLogins()sc,err,_:=PostImage("apps/10130/icon",un,pw,"/valid.png")sc2,err2,_:=PostImage("apps/10130/learn-more-image",un,pw,"/valid-learn-more.png")iferr!=nil&&err2!=nil{t.Error("Fail")}else{ifsc!=200||

unit-testing - 从 %APPDATA% 开始单元测试

我正在尝试使用“gotest”运行我的一些Go单元测试,但测试可执行文件是从我机器的%APPDATA%/local/temp目录构建和运行的。我的PC有IT强制执行,它阻止任何无法识别的可执行文件运行,而不是从预先批准的目录(即C:/dev/projects")运行。我所有的Go源代码都在该目录中,包括我的*_test.go文件。有没有办法告诉Go测试模块从当前目录构建和运行? 最佳答案 Yesyoucan.在执行gotest之前设置临时目录。默认情况下,临时目录环境变量按照TMP、TEMP、USERPROFILE、Windows目

go - Go中非测试函数的断言

我想在函数中使用断言,但它不是测试函数。这只是一个普通函数,我想使用类似assert.Equal(param1,some_constant)的函数。我遇到了以下包裹:https://godoc.org/github.com/stretchr/testify/assert虽然,它似乎还需要testing包,并为函数提供类型为*testing.T的参数。Go中有没有其他的assert函数,我可以直接调用assert函数而不实际依赖任何其他测试包或参数? 最佳答案 Go不提供断言。Go团队的语言常见问题解答中有一个部分:https://g

testing - 如何测试go中函数的返回值是指向类型的指针?

我在测试用例中突出显示了我希望某些东西应该去的地方。理想情况下,我想测试i是WHAT_SHOULD_I_PUT_HERE的一个实例主.gopackagemainimport"fmt"typeSomeTypestruct{thingThatNeedsSetupstruct{}}funcCreate()*SomeType{return&SomeType{}}funcmain(){a:=Create()fmt.Println(a.thingThatNeedsSetup)}main_test.gopackagemainimport("testing")funcTestCreate(t*test