草庐IT

test_phoenix

全部标签

testing - 为不同包上的所有测试运行单个 Golang httptest 服务器

我的项目文件夹是这样的。它是一个大型API,我仅将文件分开用于组织用途。$treesrc/后端/src/backend/├──cats│  ├──cat_test.go│  ├──handler.go│  ├──routes.go│  └──tools.go├──cmd│  ├──populate.go│  ├──root.go│  └──runserver.go├──iot│  └──device│    ├──all.go│    ├──all_test.go│    ├──router.go│    ├──types.go│    └──update.go├──main.go├─

testing - 如何在 Golang 中解码 reflect.Value

我得到了这个测试func(t*DeviceTests)CreatePublicDevice(){registerRegularDevice:=tester.TableTest{Method:"POST",Path:"/iot/devices",Status:http.StatusOK,Name:"CreatePublicDevice",Description:"registerRegularDevicehastoreturn200",Body:PublicDevice,}resp:=registerRegularDevice.DoubleSpin(t.Test)log.Println(

testing - 旨在使用 Docker 的客户端 API 测试方法的接口(interface)上出现错误类型错误

我正在重构我编写的程序,以便我可以正确地为它编写测试。我想测试的第一个方法是使用Docker'sclientAPI的方法。查看某个镜像是否存在于Docker主机上。为了能够测试此方法,我创建了一个与client.ImageList的signature匹配的接口(interface):typeImageListerinterface{ImageList(ctxcontext.Context,optionstypes.ImageListOptions)([]types.ImageSummary,error)}我还更改了测试方法以将ImageLister作为参数,这样我就可以传入特定于我的测

testing - Gogland 测试配置始终使用 ./执行

无论我如何设置我的构建配置来运行我的测试,go测试工具总是以./...运行例如运行:gotest-v-cover./...-run./svs 最佳答案 根据您需要运行的内容,您可以选择不同的配置类型。对于图片中的那个,选择了RunKindDirectory,这意味着IDE将在您指向的目录中运行测试,并且由于工作目录位于同一目录中,它将运行./...这就是它的意思。对于RunKindPackage,它将只运行指定的包而不会运行其他包,因此没有/...附加到它。对于运行类型文件,它将在单个文件中运行测试。您添加的模式./svc告诉go工

testing - 测试中的标志导致其他测试无法运行

我有一个测试文件,我只想在设置位标志时运行。我遵循了golang'stestingdocs中的简单示例:packagemypkgvarmyFlagSet=flag.Bool("myflag",false,"")funcTestMain(m*testing.M){flag.Parse()if*myFlagSet{os.Exit(m.Run())}}如果我运行gotest./mypkg-myflag它会按预期运行。但是,当我运行gotest./...-myflag时,所有其他包测试都失败了:flagprovidedbutnotdefined:-myflag我希望能够运行所有测试,而不必担心

unit-testing - 测试在 Golang 中加载 JSON 配置文件的方法

在Golang在测试项目中,有一种方法可以将JSON配置文件加载到变量中。它的代码是这样的://LoadtheJSONconfigfilefuncLoad(configFilestring,outputObjinterface{})*errors.ErrorSt{varerrerror//ReadtheconfigfilejsonBytes,err:=ioutil.ReadFile(configFile)iferr!=nil{fmt.Println(err.Error())returnerrors.File().AddDetails(err.Error())}//Parsethecon

unit-testing - 我如何对这个用 golang 编写的 promptui 包进行单元测试?

我是golang的新手,我在我的一个项目中使用了一个名为promptui(https://github.com/manifoldco/promptui)的交互式提示。我已经为这个项目编写了几个单元测试,但我正在努力解决如何对这个需要输入的特定包进行单元测试的问题。例如,我将如何着手测试以下代码行(封装在一个函数中):funcsetEmail()string{prompt:=promptui.Prompt{Label:"InputyourEmail",Validate:emailValidations,}email,err:=prompt.Run()iferr!=nil{color.re

unit-testing - 在 Go 中模拟接收函数

我正在尝试对调用该结构中其他接收函数的接收函数进行单元测试。假设我想在下面测试Three()并模拟对two()的调用:typeMyStructstruct{astringbstring}func(m*MyStruct)one()int{return2}func(m*MyStruct)two()int{returnm.one()*2}func(m*MyStruct)Three()int{returnm.two()*2}我遵循以下方法二answer.我为每个我想进行单元测试的函数创建了一个自定义构造函数,并用模拟版本覆盖了这些方法。但我认为一旦函数数量增加,维护代码可能并不容易。是否有任何

unit-testing - 如何在golang中为http请求编写单元测试?

我不知道如何测试下面代码中给出的http响应。funcgetVolDetails(volNamestring,objinterface{})error{addr:=os.Getenv("MAPI_ADDR")ifaddr==""{err:=errors.New("MAPI_ADDRenvironmentvariablenotset")fmt.Println(err)returnerr}url:=addr+"/path/to/somepage/"+volNameclient:=&http.Client{Timeout:timeout,}resp,err:=client.Get(url)i

unit-testing - Golang 单元测试 : error conditions

如何在Golang中测试错误条件和其他意外代码流?假设我有如下代码:importcryptofuncA(args)error{x,err:=crypto.B()iferr!=nil{returnerr}returnnil}B是一些函数。我相信我测试这种失败情况的唯一方法是更改​​B的值以进行测试(模拟它以便返回错误)。我尝试过的事情:1)monkeypatch在测试之前对函数进行修补,然后取消修补。这是一个可怕的想法。引起了各种奇怪的问题测试正在运行。2)将B作为参数传递给A。这一切都很好,但它也意味着我必须更改A的定义然后更新每次使用它每次执行更改时。此外,A可能正在使用许多导入的函