草庐IT

test_slice

全部标签

unit-testing - 在 Golang 中 stub 函数

有一个函数在我负责单元测试的代码中不断出现(还没测试),定义如下://GetRetreivesanerrorwiththegivenaccesscode.funcGet(codeAccessCode)*ErrorSt{iferr,ok:=Errors[code];ok{err.Stack=utilityCore.GetCleanStack(logger.Instance.GetProjectNames())return&err}err:=NewError(string(ACPanic),fmt.Sprintf("Error'%s'can'tberetreived.",code),ESS

xml - 将 XML 解析为包含 slice 的结构

情况:我有这个XML结构:我需要将这个XML转换成这个结构:{Id:"26659127",Members:["26659127","298884289","261728686"],Info:[{Key:"name",Value:"omega"},{Key:"rank",Value:"16"}]}问题:我已经创建了一个用于解析XML的结构:typeGroupstruct{Idstring`xml:"id,attr"`Members[]string`xml:""`Info[]Info`xml:"info"`}typeInfostruct{Keystring`xml:"k,attr"`Val

go - 如何将接口(interface)的二维 slice 转换为结构

我想从Google表格API获取所有行。它返回带有type的数据[][]接口(interface){}。我的结构是typeRecordstruct{Namestring`json:"firstname"`Mobilestring`json:"mobile"`}我想将所有行放在结构[]Record的一片中,其中每个字段都是Excel工作表中的一个单元格。我的尝试请看下面的代码:packagemainimport("encoding/json""fmt""log")funcmain(){srverr:=InitialiseSheets()fmt.Println("")iferr!=nil{

interface - slice (从有限数量的接口(interface)中选择一个)

如何让RemoveDead函数接受实现Liver的其他接口(interface)片段(甚至可能是结构指针片段),同时对性能影响很小?在我看来,该函数必须将interface{}作为参数并进行运行时转换,但我不确定如何进行转换。我还猜测执行x.(Liver)比Liver(x)慢很多,因为后者是编译时转换。复制粘贴函数并在每个副本中更改参数和返回类型是最好的解决方案吗?只需要三到四个副本,但这仍然是一个非常笨拙的解决方案。typeUpdaterinterface{LiverUpdate()bool}typeLiverinterface{Alive()bool}funcRemoveDead(

使用包含 slice 的结构时 xml 恶作剧?

我尝试了以下代码以了解为什么我在golang中遇到xml问题。据我了解,我应该能够编码一个结构,然后将结果数据解编回相同类型的结构?我期望的结果是一个包含子片的父结构,而不是子片为零?playgroundlinkpackagemainimport("encoding/xml""fmt")typeParentstruct{XMLNamexml.Name`xml:"parent"`Children[]Child`xml:"children"`}typeChildstruct{XMLNamexml.Name`xml:"child"`IDint`xml:"ID"`}funcmain(){chi

unit-testing - 如何测试我的接口(interface)功能?

Go的第三天,如果这是一个新问题,请原谅;)。我正在创建一个简单的计算器,最终将有许多不同的任务:加法、减法、乘法等等……每个任务都有2个函数:第一个和第二个。packagemainimport("github.com/mytestproj/calculator")typeCalcinterface{First(xint)intSecond(xint)int}funcmain(){x:=16variCalca:=calculator.Add{}i=ai.First(x)i.Second(x)}我目前将所有内容组织为:github.com/mytestproj/calculator/ad

转到 html/模板 : test equality of two dot variables

我正在发送一个html/模板给这个模型:typeMapModelstruct{Networks[]*NetworkMetaWaveKeystringNetworks字段由另一种类型NetworkMeta定义:typeNetworkMetastruct{NetworkMetaKeystring我使用Networks数组生成一个html选择对象:{{range.Networks}}{{.NetworkMetaKey}}{{end}}除了“ifeq”等式测试,这里的一切都有效。该测试返回错误:“WaveKey不是结构类型*models.NetworkMeta的字段。”据我了解html/tem

戈朗 : How to change struct field value in slice of interfaces

Playground问题:https://play.golang.org/p/UKB8f4qGsM我有一部分接口(interface),我很确定它们有哪种类型(实际上我不知道,所以我必须输入switch它,但为了清楚起见我把它留了下来)。如何为接口(interface)后面的结构中的字段赋值?类型断言似乎带走了引用。我也尝试过使用指针,但它也不起作用,主要是因为我无法键入assert然后(类型*inter不能被类型断言)并且当我取消引用它时,它甚至变得毫无意义。..我在Go方面没有那么丰富的经验,如果能得到任何帮助,我将不胜感激。 最佳答案

go - 在保留顺序的同时对 slice 进行并发反序列化

当前代码结构:funcdoStuff(serializeds[]string)([]*MyStruct,error){objs:=[]*MyStruct{}for_,s:=rangeserializeds{deserializedObject,ok,err:=doDeserialization(s)iferr!=nil{//ifanyerr,abandonthewholethingreturnnil,err}if!ok{continue}objs=append(objs,deserializedObject)}returnobjs,nil}序列化数通常一次包含200-1000个序列化字

unit-testing - 为什么 `go test -run NotExist` 通过?

如果我运行以下命令gotest-runNotExist响应为通过。鉴于我的测试文件不包含名为TestNotExist的测试,我希望上面的命令返回FAIL 最佳答案 没有-run选项gotest运行所有测试。您使用-run选项不运行所有测试;过滤掉,排除测试(你以要求非排他性测试的名称​​匹配正则表达式模式-但这与讨论点无关):Commandgo,Testpackages:Bydefault,gotestneedsnoarguments.Itcompilesandteststhepackagewithsourceinthecurren