Go get all dependencies返回Terratest无法识别的导入路径
配置Go get all dependencies返回Terratest无法识别的导入路径,go,terratest,Go,Terratest,配置 go1.15.2达尔文/amd64 macOS Catalina v10.15.7 .zshrc文件 export GOPATH=$HOME/go 导出GOROOT=/usr/local/opt/go/libexec 导出路径=$PATH:$GOPATH/bin 导出路径=$PATH:$GOROOT/bin 我想做的事 我是新手,正在尝试使用Terratest为打包机构建编写测试 当尝试运行go test my_test.go时,我不断收到错误,说我需要安装丢失的软件包 ../../
- go1.15.2达尔文/amd64
- macOS Catalina v10.15.7
.zshrc
文件
export GOPATH=$HOME/go
导出GOROOT=/usr/local/opt/go/libexec
导出路径=$PATH:$GOPATH/bin
导出路径=$PATH:$GOROOT/bin
我想做的事
我是新手,正在尝试使用Terratest为打包机构建编写测试
当尝试运行go test my_test.go
时,我不断收到错误,说我需要安装丢失的软件包
../../../../go/src/github.com/gruntwork io/terratest/modules/aws/sqs.go:10:2:在以下任何一个中找不到包“github.com/google/uuid”:/usr/local/opt/go/libexec/src/github.com/google/uuid(来自$GOROOT) /Users/username/go/src/github.com/google/uuid(来自$GOPATH)。
命令行参数失败[安装失败]
失败 通过谷歌搜索,我发现从测试文件所在的目录运行
go-get-u./…
应该可以安装这些软件包
问题
当我运行go get-u./…
时,我得到以下错误:
软件包uu/Users/username/github.com/my-org/my-repo/packer/tests:无法识别的导入路径“uu/Users/username/github.com/my-org/my-repo/packer/tests”:导入路径不以主机名开头
对于其他上下文,这是我正在使用的目录结构:
~
github.com/my-org/my-repo/
packer/
tests/
my_test.go
这是我创建的测试文件,用作参考:
包测试
进口(
“测试”
“github.com/gruntwork io/terratest/modules/packer”
“github.com/stretchr/authentic/assert”
terratest_aws“github.com/gruntwork io/terratest/modules/aws”
)
func TestMyAmiBuild(t*testing.t){
awsRegion:=“us-east-1”
封隔器选项:=&packer.Options{
//测试中封隔器模板的路径
模板:“../Template/Template.json”,
//传递给封隔器构建的变量
变量:映射[字符串]字符串{
“ami_name”:“我的ami”
},
//仅构建AWS AMI
仅限:“亚马逊ebs”,
}
//构建封隔器模板
amiID:=packer.BuildArtifact(t,packerOptions)
//完成后,清理AMI
延迟terratest_aws.删除AMI和所有快照(t、aws区域、AMID)
//检查AMI是否是私有的
AMISPublic:=terratest_aws.GetAmiPubliclyAccessible(t、awsRegion、AMID)
assert.False(t,amiIsPublic)
}
您好,您选择了好的工具,您几乎做到了:-)主要问题是您使用的是旧的方式,在模块之前。1.取消导出所有环境变量,它们只是在添加混乱和错误;2.不需要再把代码放在GOPATH下,把它放在你想要的地方;3阅读并使用go mod init。对于围棋模块的介绍,请参阅Hello的“快速入门”,您选择了好的工具,您几乎做到了:-)主要问题是您使用的是围棋的旧方式,在模块之前。1.取消导出所有环境变量,它们只是在添加混乱和错误;2.不需要再把代码放在GOPATH下,把它放在你想要的地方;3阅读并使用go mod init。有关go模块介绍,请参阅的“快速入门”