在Bazel中,可以使用local_test
规则来在同一目录下运行脚本,而不必使用--run_under
选项。以下是一个包含代码示例的解决方法:
BUILD.bazel
文件,其中包含以下内容:load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_test")
go_binary(
name = "my_script",
srcs = ["my_script.go"],
visibility = ["//visibility:public"],
)
go_test(
name = "my_script_test",
srcs = ["my_script_test.go"],
visibility = ["//visibility:public"],
)
my_script.go
文件,其中包含要运行的脚本代码:package main
import "fmt"
func main() {
fmt.Println("Hello, Bazel!")
}
my_script_test.go
文件,其中包含用于测试的代码:package main
import (
"testing"
)
func TestMyScript(t *testing.T) {
// 添加测试逻辑
}
bazel run :my_script
这将会在同一目录下运行脚本,而不必使用--run_under
选项。