草庐IT

hdr-Build_and_test_caching

全部标签

docker - 在 docker 文件中执行 go build -o/bin/go_docker 时找不到二进制文件

下面是dockerfile的内容FROMgolang:1.8asgoimageENVSRC=/go/src/RUNmkdir-p/go/src/RUNmkdir/go/src/go_dockerWORKDIR/go/src/go_dockerRUNcd/go/src/go_dockerCOPYStoreImage.go.RUNgobuild-o/bin/go_dockerCMD["/bin/go_docker"]以上内容docker构建成功..但是在/bin/go_docker中看不到生成的二进制文件谁能帮我解决这个问题。 最佳答案

go - 如何解决 `unknown escape sequence (and 2 more errors)`的错误

我正在尝试使用golang代码验证图像url,但正则表达式有错误我在这个问题中显示了我的正则表达式:-varvalidation=regexp.MustCompile("(http(s?):)|([/|.|\w|\s])*\.(?:jpg|gif|png)")错误:-unknownescapesequence(and2moreerrors)playlink 最佳答案 \.是无效的转义序列。我建议您在定义正则表达式时使用反引号。例如regexp.MustCompile(`^https?://.*\.(jpg|gif|png)$`)//

go - 使用 DNSutil 从域中提取名称服务器 |类型 dns.RR 没有字段或方法 Hdr

我正在尝试使用GoLang从DNS记录中提取名称服务器。我遇到的问题是我无法从结构中读取字段。我正在将Response转换为JSON,这样我就可以“读取”它有哪些字段,为此我使用了以下代码:json,_:=json.Marshal(ns)fmt.Println(string(json))打印出来:{"Hdr":{"Name":"example.com.","Rrtype":2,"Class":1,"Ttl":172800,"Rdlength":16},"Ns":"ns2.example.eu."}现在,当我尝试使用以下方法从该字符串中打印出Name值时:fmt.Println(ns.H

unit-testing - 如何使用 os.O_RDWR 和 os.O_CREATE 标志测试 file.Open?

我正在尝试为结构构造函数编写单元测试,如果在file.Open期间发生错误,它也可能返回nil。我不知道如何使用标志测试/模拟文件错误:os.O_RDWR|os.O_CREATE|os.O_APPEND我试图在测试中检查nil值,但失败了。构造函数:typeAppstruct{someFieldstringlog*log.Logger}funcNew()*App{app:=&App{}f,err:=os.OpenFile("info.log",os.O_RDWR|os.O_CREATE|os.O_APPEND,0666)iferr!=nil{fmt.Printf("erroropeni

testing - 如何在 Golang 中测试日志记录(log.Println)?

如何在Golang中测试下面的代码?packagemainimport"log"funcmain(){log.Println("helloworld")} 最佳答案 您的程序写入log包标准记录器,后者写入标准错误。编译并运行你的程序,看看标准错误中出现了什么。 关于testing-如何在Golang中测试日志记录(log.Println)?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

unit-testing - 如何对包装对外部服务的 http 调用的处理程序进行单元测试

我有一个名为CreateObject的处理函数。此函数同时包装了对我无法控制的外部API的POST请求。如果我想对其进行单元测试,我面临的问题是我无法在每次运行测试时都将新对象发布到外部服务。所以我想知道是否有办法用Go或任何解决方法来模拟它。非常感谢。主包funcmain(){router:=mux.NewRouter()router.HandleFunc("/groups",services.CreateObject).Methods("POST")c:=cors.New(cors.Options{AllowedOrigins:[]string{"*"},AllowCredenti

unit-testing - 在 golang 中模拟远程 api 调用

我正在尝试更好地编写调用远程api的模拟golang测试我可以使用httptest库很容易地模拟单个调用,但我是在处理多次调用单个端点调用的其他函数时卡住了。例如给定一个简单的创建函数funccreateItem(urlstring,productProduct)(int,error){//makerequestreturncreatedId,nil}我可以写一些像这样的测试funcTestCreateItem(t*testing.T){mock_ts:=httptest.NewServer(http.HandlerFunc(func(whttp.ResponseWriter,r*ht

unit-testing - 包中的模拟方法

我正在寻找模拟单元测试的一些方法。不幸的是,代码的结构不是很好。varconfig=struct{abc*abc}funcInit(arg1){//config.abc=newAbc(arg2,arg3)}funcUnitTestThis(){//somecodehereconfig.abc.Search(arg4,arg5)//codehere}如何对UnitTestThis函数进行单元测试,模拟Search方法的结果?我一直在尝试创建一个接口(interface)并模拟这些方法,但未能成功。 最佳答案 如果config.abc字

unit-testing - 如何在 Golang 中模拟结构方法

我正在阅读这个页面(我没有使用亚马逊,只是为了golang教育而阅读)https://aws.amazon.com/blogs/developer/mocking-out-then-aws-sdk-for-go-for-unit-testing/当我自己尝试时,我遇到了类型错误。typeQueuestruct{ClientThirdPartyStructURLstring}typemockedReceiveMsgsstruct{ThirdPartyStructRespValueIWantToMock}q:=Queue{Client:mockedReceiveMsgs{}}当我尝试做完全

unit-testing - 安装go with homebrew,找不到$GOROOT导致包失败

我用自制软件安装了Go,它通常可以正常工作。按照此处创建serverlessapiinGo的教程进行操作.当我尝试运行单元测试时,出现以下错误:#_/Users/pro/Documents/Code/Go/ServerLessmain_test.go:6:2:cannotfindpackage"github.com/strechr/testify/assert"inanyof:/usr/local/Cellar/go/1.9.2/libexec/src/github.com/strechr/testify/assert(from$GOROOT)/Users/pro/go/src/git