草庐IT

hdr-Build_and_test_caching

全部标签

go - 在 "go build"之前设置一个环境变量

从go1.10开始,只允许编译器/链接器选项的安全列表。这些之外的任何选项都需要包含在环境变量中,例如ubuntu#echo$CGO_LDFLAGS_ALLOW-Wl,-Bdynamic,--wrap=memcpy更多信息:https://github.com/golang/go/wiki/InvalidFlag在目录foo中,我有一些代码可以从另一个目录bar导入一个包。这个bar目录有一些cgo代码,其中声明了#cgo标志。当我执行“gobuild”时,它从foo转到bar并执行“gobuild”,但由于未在环境中设置CGO_LDFLAGS_ALLOW而失败。我不想让我所有的团队在

go - 为什么当函数返回运动员时 Go 是 "athlete declared and not used"?

我正在使用声明的变量返回一个结构。为什么编译器说我没有使用声明的变量?我放置了log.Printf语句来帮助调试错误。为什么log.Printf不算使用变量?import("github.com/gorilla/sessions")funcprofileFromSession(r*http.Request)*workout.Athlete{session,err:=workout.SessionStore.Get(r,defaultSessionID)log.Printf("$$$$$$$$$$$sessioncontains%#v",session)iferr!=nil{log.Pr

unit-testing - 为从中读取的函数填充 os.Stdin

如何在我的测试中填充os.Stdin以获取使用扫描仪从中读取的函数?我使用以下函数通过扫描器请求用户命令行输入:funcuserInput()error{scanner:=bufio.NewScanner(os.Stdin)println("Whatisyourname?")scanner.Scan()username=scanner.Text()/*...*/}现在如何测试这种情况并模拟用户输入?以下示例不起作用。标准输入仍然是空的。funcTestUserInput(t*testing.T){varfile*os.Filefile.Write([]byte("Tom"))os.St

go build 错误 .go/src for go/src 在寻找依赖

我正在尝试安装packagefromgithub.报告的错误显示gobuild在/go/src而不是.go/src中查找源文件(=$GOPATH)。在错误消息中查找/home/er/go/src/。我该如何解决这个问题?~/.go/src/netbackup$echo$GOPATH/home/er/.go~/.go/src/netbackup$goversiongoversiongo1.10.4linux/amd64~/.go/src/netbackup$sudogobuildmain.go:17:2:cannotfindpackage"github.com/marcopaganini

testing - 如何按顺序运行 golang 测试?

当我运行gotest时,我的输出:---FAIL:TestGETSearchSuccess(0.00s)Location:drivers_api_test.go:283Error:Notequal:200(expected)!=204(actual)---FAIL:TestGETCOSearchSuccess(0.00s)Location:drivers_api_test.go:391Error:Notequal:200(expected)!=204(actual)但是在我再次运行gotest之后,我的所有测试都通过了。仅当我重置我的mysql数据库,然后第一次运行gotest时,测试

unit-testing - 如何为另一个包中的方法编写模拟代码

我正在为service.go设置service_test.go。在service.go中,方法是从dao.go中调用的。所以我需要模拟这个dao方法。但我不确定如何编写此模拟方法的代码。这是存储库结构。article├client├api│├main.go│├contoroller││└contoroller.go│├service││└service.go│├dao││└dao.go│├go.mod│├go.sum│└Dockerfile├nginx└docker-compose.yml服务.gofuncGetArticleService(db*sql.DB)[]util.Artic

unit-testing - 调试在命令行中工作,但在 UI 中未命中断点

我在我的Windows10机器上安装了以下内容:VS代码-版本1.38.1Golang-版本go1.13Delve-版本1.3.0我已经在环境变量中设置了GOROOT和GOPATH。我的GOPATH有以下三个文件夹:来源本包装在src下,我创建了一个基本的sam-app。它会自动创建main_test.go文件。当我进行“调试测试”时,UI中没有出现断点。但是,我可以在命令行中使用dlv进行调试。我在launch.json中尝试了不同的配置。他们都没有工作。在我friend的机器上,即使没有配置,UI调试也能正常工作在VSCode设置中-->节点调试-->自动附加-->我已经设置为'o

go - 使用 go build(或 go install)的增量构建不起作用

我有一个Go项目,但对Go的了解不多!我重复发出命令gobuild或goinstall,绝对没有对源代码进行任何更改或修改例子:${GOLANGBIN}/gobuild-v-i-o$(OUTPUT_DIRECTORY)/bin/mainsrc/main我预计在第一次之后,我的二进制文件根本不会更新。但是,在每次构建之后,我的二进制文件都是最新的,具有最新的时间戳。Go是否能够仅构建需要构建的内容(自上次以来),而不能构建已经更新的内容? 最佳答案 我需要升级到1.13我用的是1.09 关

eclipse - MacOS-GoClipse GAE- "open build: No such file or directory"

我最近对​​MacOSLion进行了全新安装,但在让我的GoogleAppEngineGo应用程序再次在GoClipse中运行时遇到了问题。我已经通过AppStore、GAEGoSDK和Eclipse下载了XCode。我解压缩了Eclipse和SDK,通过Eclipse菜单安装了GoClipse,并将6g、6l和pack文件从GAE/goroot/pkg/tool/darwin_amd64移动到GAE/goroot/bin。我已经在EclipsePreferencesforGo中设置了适当的目录,清理了我工作区中的所有项目,但我遇到了很多错误。似乎每个包都出现“打开构建:没有这样的文件

go - 如何使 thrift 0.8 build go 库?

我下载了thrift0.8tarball,我的GOROOT是“/home/alex/go”,应该修改什么以确保在编译thrift时构建了go库?目前运行./configure时得到.......BuildingPHPLibrary.........:noBuildingErlangLibrary......:yesBuildingGoLibrary..........:no(isthissayinggolibrarywon'tbebuilt?) 最佳答案 thrift还不支持Go1。配置脚本尝试找到旧的go命令来构建go库。conf