草庐IT

unit-testing - Go 单元测试正在运行从 "go get"命令导入的包

我导入了一个包“gopkg.in/yaml.v2”。这是在目录结构下src/gopkg.in/yaml.v2main.goabc.goabc_test.go当我在构建期间运行命令gotest-v./...时,它也会从导入的包gopkg.in/yaml.v2运行单元测试.在我的情况下不需要。我是Go及其测试框架的新手。是否在谷歌中搜索了答案但找不到任何具体的答案? 最佳答案 go工具根据您的指示运行所有包的测试。3个点...是go工具的一个特性,它表示给定的包和在其子文件夹中找到的所有包。引用自CommandGo:Descriptio

windows - 忽略 vendor 目录

我读到的关于vendor目录的所有内容都让我明白,如果我有一个目录:$GOPATH/src/vendor并将我的依赖项放在那里(我正在使用godeps),当执行gorun时,go应该首先检查该目录。如果我在我拥有的Docker镜像中运行我的代码,这工作正常。然而,现在我尝试在我的Windows机器上运行相同的代码,go简单地忽略了vendor/目录,并且找不到依赖项。我做错了什么?main.go:7:2:cannotfindpackage"gopkg.in/alecthomas/kingpin.v2"inanyof:C:\Go\src\gopkg.in\alecthomas\kingp

windows - 忽略 vendor 目录

我读到的关于vendor目录的所有内容都让我明白,如果我有一个目录:$GOPATH/src/vendor并将我的依赖项放在那里(我正在使用godeps),当执行gorun时,go应该首先检查该目录。如果我在我拥有的Docker镜像中运行我的代码,这工作正常。然而,现在我尝试在我的Windows机器上运行相同的代码,go简单地忽略了vendor/目录,并且找不到依赖项。我做错了什么?main.go:7:2:cannotfindpackage"gopkg.in/alecthomas/kingpin.v2"inanyof:C:\Go\src\gopkg.in\alecthomas\kingp

go - govendor 是否自动包含传递依赖项?

假设我通过govendoradd或govendorfetch添加了一个新的依赖项X。此依赖项X对Y具有依赖项。govendor是否也会自动引入这些依赖项?还是我必须执行govendoraddY。add和fetch之间的行为是否不同?我无法在此处的任何文档中找到此讨论:https://github.com/kardianos/govendor或者通过运行govendoradd--help 最佳答案 govendorfetch将自动包含传递依赖项。govendoradd不会的。但是如果你运行govendoradd+external(没有

go - govendor 是否自动包含传递依赖项?

假设我通过govendoradd或govendorfetch添加了一个新的依赖项X。此依赖项X对Y具有依赖项。govendor是否也会自动引入这些依赖项?还是我必须执行govendoraddY。add和fetch之间的行为是否不同?我无法在此处的任何文档中找到此讨论:https://github.com/kardianos/govendor或者通过运行govendoradd--help 最佳答案 govendorfetch将自动包含传递依赖项。govendoradd不会的。但是如果你运行govendoradd+external(没有

git - 如何在将 vendor 目录 checkin 版本控制时管理 Go 依赖项?

上下文我已经编写了一个Go库,并希望锁定和供应第三方依赖项。这样,对这些第三方依赖项的任何向后不兼容的更改都不会破坏我的库供其他用户使用。查看Go1.5VendoringExperiment的原始提案有关vendor运作方式的更多背景信息。我正在使用Glide管理依赖关系和锁定特定版本。由于该项目是供其他人使用的库,因此我想将vendor文件夹checkin版本控制。这样,该库的用户无需安装Glide即可使用它。他们所要做的就是设置环境变量GO15VENDOREXPERIMENT=1。我过去使用过Glide,我对它非常满意。但是,我以前从未尝试过将vendor文件夹提交到版本控制。这就

git - 如何在将 vendor 目录 checkin 版本控制时管理 Go 依赖项?

上下文我已经编写了一个Go库,并希望锁定和供应第三方依赖项。这样,对这些第三方依赖项的任何向后不兼容的更改都不会破坏我的库供其他用户使用。查看Go1.5VendoringExperiment的原始提案有关vendor运作方式的更多背景信息。我正在使用Glide管理依赖关系和锁定特定版本。由于该项目是供其他人使用的库,因此我想将vendor文件夹checkin版本控制。这样,该库的用户无需安装Glide即可使用它。他们所要做的就是设置环境变量GO15VENDOREXPERIMENT=1。我过去使用过Glide,我对它非常满意。但是,我以前从未尝试过将vendor文件夹提交到版本控制。这就

Go模块和依赖修改 vendor

我正在尝试将一个Go项目转换为新的模块标准,但我在一个依赖项上遇到了问题。该存储库提供了一个库(在本例中为golang.org/x/net/html)以向该库添加一些功能;这意味着它已经修改了vendored依赖项(向结构添加了一个方法)。所以问题是,在执行gomodinit之后,当我执行goget./...时,系统会提示调用该添加的功能,因为它忽略修改后的vendor并尝试导入上游库。有没有办法让gomod知道它应该使用vendored依赖项? 最佳答案 你可以试试replace指示。类似的东西首先cd./vendor/golan

Go模块和依赖修改 vendor

我正在尝试将一个Go项目转换为新的模块标准,但我在一个依赖项上遇到了问题。该存储库提供了一个库(在本例中为golang.org/x/net/html)以向该库添加一些功能;这意味着它已经修改了vendored依赖项(向结构添加了一个方法)。所以问题是,在执行gomodinit之后,当我执行goget./...时,系统会提示调用该添加的功能,因为它忽略修改后的vendor并尝试导入上游库。有没有办法让gomod知道它应该使用vendored依赖项? 最佳答案 你可以试试replace指示。类似的东西首先cd./vendor/golan

GO 测试给出了非常奇怪的错误 - 找不到包 command-line-a/vendor

我已经更新到GO1.6,现在在运行gotest时出现非常奇怪的错误pawel@pawel:~/work/src/...../web/workers$gotestemail_test.go#command-line-argumentsemail_test.go:16:2:cannotfindpackage"command-line-a/vendor/github.com/jpoehls/gophermail"inanyof:/usr/local/go/src/command-line-a/vendor/github.com/jpoehls/gophermail(from$GOROOT)/