草庐IT

git-tests

全部标签

go build 有效但 go test 没有

下面是我的项目结构:/user/home/go/src/github.com/my_go_proj/main.go/mypackage/service.go/service_test.goGOPATHpointsto/user/home/gocd/user/home/go/src/github.com/my_go_projgobuild--->Thisworksandcreatesthe`my_go_proj`executable.gotest?github.com/my_go_proj[notestfiles]gotestgithub.com/my_go_proj/mypackage

unit-testing - 我如何在测试中模拟 Go 函数?

我在StackOverflow上阅读了一些关于如何模拟time.Now()等函数的问题。解决方案似乎是编写一个实现特定接口(interface)的结构,然后在测试中传入该模拟。有更好的方法吗?由于在Golang中没有足够好的依赖注入(inject)容器实现,我不想手动传递结构,或者创建一个内部只有这样的结构:func(sMyStruct)Now(){returntime.Now()}因为,首先,我无法测试这个函数。当你处理其中没有变量的一行时,它可能什么都不是,但我有一个连接到TCP端口的函数。做这样的事情需要我为它使用的所有东西创建适配器(例如net.Dial()、time.Now(

git - 如何用 Go 解压一个 git pack 文件?

我正在尝试解压一个gitpackfile使用纯去。我能找到的唯一库是github.com/jbrukh/ggit/api->parse但我很难弄清楚它应该如何工作。基本上我需要的只是提供包文件的主体并取回git对象(我假设它们是使用zlib压缩的)。我尝试了几种方法,包括fork和尝试使用私有(private)函数,但没有成功(即panic)。packagemainimport(log"github.com/golang/glog""io/ioutil""bytes""bufio""flag""os""github.com/jbrukh/ggit/api/parse")funcmain

git - 无法从 git 获取对 git post-update Hook 的依赖

我有一个golang项目,我想在推送它的同时在服务器上构建它post-updateHook被触发,一切都很好,项目被checkout到某个目录,但是,在它尝试获取依赖项之后(cd/go/src/kiyanov.com/app/和goget)它因错误而失败远程#cd/go/src/github.com/dgrijalva/jwt-go;git显示引用远程:致命:不是git存储库:“。”远程:包github.com/dgrijalva/jwt-go:退出状态128远程#cd/go/src/github.com/lib/pq;git显示引用远程:致命:不是git存储库:“。”远程:包gith

unit-testing - 在 GO 中测试 - 项目包中的代码覆盖率

我有一个关于在Go(lang)项目中生成代码覆盖率的问题。我有这个简单的结构:ROOT/config/handlers/lib/models/router/main.goconfig包含JSON格式的配置和一个简单的config.go读取和解析JSON文件并填充随后使用的Config结构初始化数据库连接时。handlers包含controllers(即router/routes.go中描述的相应METHOD+URL的处理程序)。lib包含一些数据库、请求响应器和记录器逻辑。models包含要从JSON和DB映射到的结构及其函数。最后router包含路由器和路由定义。基本上只是通过测试一

git - 如何配置 gogs 以快速加载大型 git 存储库?

我设置gogs在我的DigitalOcean虚拟机上,有1个CPU、1GBRAM和30GBSSD。它适用于小型存储库,一切都很活泼。为了测试gogs如何处理更大的存储库,我克隆/导入了git我的gogs安装的存储库。每次我通过web界面打开存储库时,加载至少需要5秒,CPU使用率徘徊在95%,内存在900MB。所以我假设我的虚拟机资源不足。所以我调整了虚拟机的大小并给了它8个CPU内核和16GB的RAM。然而,加载git存储库仍然需要大约5秒。我的猜测是,这要么是配置问题,要么是gogs本身及其处理git存储库的方式的问题。有没有办法让gogs快速处理大型存储库?

unit-testing - 如何在 Go 中将测试标记为不确定?

这个问题在这里已经有了答案:HowToWritePendingTestsInGo(1个回答)关闭6年前。在Go中编写测试时,如何将测试标记为不确定,即存在,但既不成功也不失败,例如因为它还没有实现?我有Node.js背景,例如在Mocha(Node.js的测试运行器)中,您可以定义一个没有实现的测试,然后Mocha将此测试标记为pending。你如何用Go做到这一点?(如果有任何区别,我在gotest之上使用gocheck。)

git - Hugo - 多语言支持错误

我克隆了一个Hugo项目,但是当我尝试编译它时,出现如下错误:function"i18n"notdefined此功能与多语言支持有关。我注意到发生了类似的情况here,我尝试按照指定的修复方法进行操作:gogetgithub.com/spf13/hugocd$GOPATH/src/github.com/spf13/hugogitremoteaddabourgetgit@github.com:abourget/hugogitcheckout-bmultilingualabourget/mastergoinstall-v但这并没有用,因为分支似乎已经不存在了,我也找不到关于它的更多评论。有

unit-testing - 使用 Gorilla MUX 对 App Engine 进行单元测试

我想为GoogleAppEngine中的处理程序编写测试,这些处理程序使用Gorillamux从请求URL读取变量。我从documentation了解到您可以创建一个虚假的上下文并请求用于测试。我在测试中直接调用处理程序,但处理程序没有按预期看到路径参数。funcTestRouter(t*testing.T){inst,_:=aetest.NewInstance(nil)//ignoringerrorforbrevitydeferinst.Close()//triedaddingthislinebecausethetestwouldnotworkwithorwithoutithttpt

macos - 更新到 macOS beta 4 后,go test -cover 抛出 "fatal error: unexpected signal during runtime execution"

Gobuild和gotest仍然有效。在更新到macOSbeta之前,我使用测试覆盖工具没有遇到任何问题。“去测试”工作正常;但是,所有覆盖率测试命令都抛出此错误(gotest-coverprofile=coverage.out抛出相同的问题)。如果有人知道如何解决这个问题,我将不胜感激!$gotest-covergobuildgithub.com/hunteramericano/ErrorQuiver:/usr/local/Cellar/go/1.6.3/libexec/pkg/tool/darwin_amd64/cover:signal:fatalerror:unexpecteds