草庐IT

do_the_test

全部标签

unit-testing - 错误 : suite. go:61: test paniced: reflect: Call with too few input arguments

我正在golang中设置单元测试。但是现在我在运行gotest-v时遇到错误。我想解决这个错误并使测试成功。article├client├api│├main.go│├contoroller││├contoroller.go││└contoroller_test.go│├service││├service.go││└service_test.go│├dao││├dao.go││└dao_test.go│├s3││├s3.go││└s3_test.go│├go.mod│├go.sum│└Dockerfile├nginx└docker-compose.yml现在我正在为service.go设

java - 套接字编程 : Is extra '\n' added in the golang client or the Java server?

我写了一个JavaTCP套接字服务,这个服务被golang客户端使用。当在golang端解析服务器套接字响应时,事情变得很奇怪。具体来说,这个Java服务器代码:BufferedWriterbw=newBufferedWriter(newOutputStreamWriter(output));bw.append('Y');bw.append('E');bw.append('S');bw.append('\n');bw.flush();还有这个golang客户端代码:extendTimoutFor(client.conn)rspMsg,fault:=bufio.NewReader(cli

go - panic : runtime error: invalid memory address or nil pointer dereference only on the GAE

我正在使用gin框架开发golang应用程序。基本上它只是以JSON格式从firestore获取数据。在本地它工作得很好,但是当我将它部署到GAE(gcloudappdeploy)时,部署期间没有错误,但是当访问页面时它不起作用,并且在日志中提供了一个错误:“panic:runtimeerror:invalid内存地址或nil指针取消引用”包列表集合import("fmt""log""net/http""cloud.google.com/go/firestore""github.com/gin-gonic/gin""google.golang.org/api/iterator""goo

go - Do map of pointers 与常用的maps使用方式不同

我想用map创建缓存。由于map不允许引用其值,因此无法更改被调用函数中的值。经过一些搜索,我发现,创建指针(结构)映射是可能的。它几乎解决了问题并且可以像引用变量一样工作但正如我发现一些使用这种方法的map。我担心使用它是安全的。有没有人有使用指针map的经验?这是正确的使用方式吗?packagemainimport"fmt"typeCachestruct{namestringcounterint}funcincr(cCache){c.counter+=1}funcincrp(c*Cache){c.counter+=2}funcmain(){m:=make(map[string]Ca

Golang 项目 Travis CI Build 失败,错误为 `Makefile:15: recipe for target ' test' failed`

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭3年前。Improvethisquestion我已经为我的Github项目设置了travisbuildCaptain.travis.yml的内容是:language:gogo:-1.12.xscript:makeenv:-GO111MODULE=onGOPROXY=https://proxy.golang.org我的Makefile的内容是:#GoparametersBINARY_FOLDER=./binGOCMD=goGOBUILD=

unit-testing - 如何比较两个作为结构但作为接口(interface)返回的值

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭3年前。Improvethisquestion我真的是Go编程的新手,被困在这里。我有一个函数A,它从3个不同的值a、b、c创建一个结构。funcA()interface{}{s:=new(struct{a,b,cint})//fillthevaluesinsreturns}现在当我测试这个函数时,我如何将返回的接口(interface)与一些

go - sync.Once.Do 是否保证跨 goroutine 的可见性?

例子here暗示sync.Once.Do保证字符串vara跨goroutines的可见性。如果例如由sync.Once.Do调用的函数f()初始化结构实例的多个字段,是否也是如此?在没有任何额外同步的情况下,结构实例的所有字段是否对其他goroutine可见? 最佳答案 让我们分解一下example:变量a在函数setup()返回之前设置,因为在单个goroutine中的读取和写入必须表现得好像它们已执行按照程序指定的顺序[1].once.Do()对setup()的单次调用发生在once.Do()的任何调用之前返回[2].因此,a变

mysql - 戈朗 : How do you connect to multiple MySQL databases in Go?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。Improvethisquestion同时操作3个或更多数据库,读/写拆分,有连接池。

unit-testing - 如何断言 Go 测试中的错误类型?

我有一个如下定义的错误类型typeRetryableErrorstruct{msgstring}func(a*RetryableError)Error()string{returna.msg}在单元测试中,如果返回的错误是RetryableError类型,Go的断言方式是什么? 最佳答案 使用类型断言:err:=someFunc()ifretryable,ok:=err.(RetryableError);ok{//useretryable}您的RetryableError不是错误,但*RetryableError是。更正:func(

unit-testing - httptest.NewRequest 与 http.NewRequest : which one to use in tests and why?

Golang有这两个相似的库http和httptest并且它们都有NewRequest函数。如果http.NewRequest能做到这一切,为什么我们还需要httptest.NewRequest?如果我需要为我的测试创建多部分/多形式请求,我需要使用哪一个? 最佳答案 如文档中所示,httptest.NewRequest“返回一个新的传入服务器请求,适合传递给http.Handler进行测试”,而http.NewRequest“返回适合与Client.Do或Transport.RoundTrip一起使用的请求。”因此,如果您在单元测