gpt4 book ai didi

go - 将go命令作为gradle任务运行

转载 作者:行者123 更新时间:2023-12-01 22:10:32 28 4
gpt4 key购买 nike

我正在使用gradle作为terraform项目的构建工具。我确实在..test / ...文件夹下为该项目编写了单元测试。我在本地运行测试的方式只是在命令行go test ..test/..上,它将在测试文件夹下运行所有​​tests。我想将此集成到构建中,以便每个构建都将运行此命令'go test ..test/..',如何在gradle中实现这一点。可以使用自定义任务来运行go命令吗?
我正在尝试做以下事情

task testExec(type: Exec) {
workingDir "${buildDir}/test"
commandLine 'go','test'
} doLast {
println "Test Executed!"
}
但是我得到了错误
> A problem occurred starting process 'command 'go''
对于它的值(value),我尝试了其他命令并获得了相同的erorr
task testExec(type: Exec) {
workingDir "${buildDir}/test"
commandLine 'echo','${}buildDir'
} doLast {
println "Test Executed!"
}
给出类似的错误
> A problem occurred starting process 'command 'echo''

最佳答案

您可以使用gradle plugin。首先,您可以按照starting guide并添加插件:

plugins {
id 'com.github.blindpirate.gogradle' version '0.11.4'
}

golang {
packagePath = 'github.com/your/package' // go import path of project to be built, NOT local file system path!
}
然后,您可以运行 following command来执行所有遵循文件名约定 <name>_test.go的go文件:
gradlew goTest 
否则,您也可以创建 complete custom taskcustom task with the plugin
编辑:
我发现了您的错误原因。变量 buildDir引用项目中的 build文件夹: <project_folder>/build。现在的问题是文件夹 test不存在,并且引发了异常。相反,您可以使用变量 projectDir

关于go - 将go命令作为gradle任务运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64066589/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com