草庐IT

test_slice

全部标签

unit-testing - Go Test 中具有不同条件的多个 httptest.NewRequest

我对Golang还是个新手。你对如何在你的Go测试文件中有效地创建多个httptest.NewRequest有什么想法吗?通常我发起一个新变量两个创建新请求。例如:r1:=httptest.NewRequest("GET",url,nil)r1.Header.Add("Accept-Language","id")r1.AddCookie(&cookie)r2:=httptest.NewRequest("GET",url,nil)r1.Header.Add("Accept-Language","id")所以我想创建2个不同的请求,实际上我必须启动2个变量才能生成新请求。我还使用了测试表,

unit-testing - Golang 中的编码/解码时间对象意外失败

解码编码的时间对象失败,因为有几个字符测试声明如下://valuesnow:=time.Now()timeToJSON,_:=json.Marshal(now)varobjtime.Timejson.Unmarshal(timeToJSON,&obj)然后做如下测试逻辑:if!assert.Equal(t,now.String(),obj.String()){t.FailNow()}预期要通过的测试,并且两个对象要相等实际失败了:---FAIL:TestFromJSON(0.00s)D:\dev2017\GO\src\ezsoft\apiserver_sdk\model\delete\

reflection - 不能在用反射制作的 slice 上使用范围,然后传递 json.Unmarshal

我从下面的代码中得到以下错误:invalidindirectoftypedSlice(typeinterface{})cannotrangeovertypedSlice(typeinterface{})这让我感到困惑,因为reflect.TypeOf(copy)匹配t的类型。funcUnmarshal(treflect.Type)[]interface{}{ret:=[]interface{}{}s:=`[{"Name":"Thequick..."}]`slice:=reflect.Zero(reflect.SliceOf(t))o:=reflect.New(slice.Type())

Golang 如何从 html/template 访问 slice 字段

我有一个[]struct{},那个[]struct{}有一个名为ThreadName的字段,我正在尝试像这样从模板中访问它:{{index.Posts0$.ThreadName}}不确定如何正确执行此操作任何信息将非常感谢。 最佳答案 使用以下访问第一个帖子的线程名称:{{(index.Posts0).ThreadName}}playgroundexample 关于Golang如何从html/template访问slice字段,我们在StackOverflow上找到一个类似的问题:

unit-testing - 如何测试 ioutil.ReadFile 和 os.Stat?

我有以下功能:funcGetDataFromFile(pathstring)([]byte,error){_,err:=os.Stat(path)iferr!=nil{returnnil,err}data,err:=ioutil.ReadFile(path)iferr!=nil{returnnil,err}returndata,nil}我想在函数ioutil.ReadFile和os.Stat(path)抛出错误时对其进行测试。我知道我可以为os.Stat(path)创建不存在的路径,但是如何在没有“解决方法”和猜测函数工作方式的情况下测试此类函数?问候。 最

testing - 当测试文件在模块中时,如何运行 `go test`?

当您将一个模块引入到您的项目中时,您如何在该模块中运行测试用例?即我做了:gogetmy.repo.com/repo/mymodule然后尝试测试其中的内容:server>gotestsrc/my.repo.com/repo/mymodule/my_test.go#command-line-argumentssrc/my.repo.com/repo/mymodule/article_test.go:4:2:cannotfindpackage"mymodule"inanyof:我们是否应该单独检查我们的模块并以这种方式进行测试?我不知道该怎么办。似乎当我gorun它知道如何找到我获取的模

json - 我如何说服 UnmarshalJSON 使用 slice 子类型?

我想要使用base64在JSON中编码和解码的bytesliceRawURLEncoding而不是StdEncoding。没有明显的方法可以通过encoding/jsonpackage来做到这一点,这是明智的,所以我想我会创建一个子类型来做到这一点。typeThing[]byte编码支持很简单:func(thingThing)MarshalJSON()([]byte,error){ifthing==nil{return[]byte("null"),nil}return[]byte(`"`+base64.RawURLEncoding.EncodeToString(thing)+`"`),

Golang MongoDB 错误 : result argument must be a slice address - (Arrays)

我想从mongo集合中检索ID列表(长类型)ids:=[]int64ifcount>=5{err=collection.Find(query).Select(bson.M{"_id":1}).Skip(rand.Intn(count-4)).Limit(4).All(ids)}我收到一个错误提示http:panicserving[::1]:62322:resultargumentmustbeasliceaddress我尝试使用make来获取slice,这导致了同样的错误ids:=make([]int64,0,4)ifcount>=5{err=collection.Find(query)

arrays - 在 Go 中,为什么 a[1 :] not give an index out of bounds error for a capacity = 1 slice?

这个问题在这里已经有了答案:Whydoesgoallowslicingfromlen(slice)?(3个答案)关闭5年前。为什么下面的代码不给出“slice边界超出范围”的错误?a:=[]int{0}a=a[1:]fmt.Println(a)//[]

Go lang 是否可以创建一个也可以用作 slice 的结构?

是否有可能在go中有一个结构也可以作为slice访问?因此,例如,我想要这样的东西:typeItemstruct{Namestring}typeItemListstruct{PackDatetime.Time[]Item}然后我可以访问ItemList中的一个Item作为一个slice。myItemList[0].Name或者以正常的结构方式访问ItemList的成员。myItemList.PackDate如果这不可能,是否有任何推荐的模式来处理像这样的带有元数据的slice? 最佳答案 推荐的做法是简单地将slice作为结构字段访