我有两个文件 main.go 和 main_test.go
在 main.go 下
package main
import (
"fmt"
"os"
"strconv"
)
func Sum(a, b int) int {
return a + b
}
func main() {
a, _ := strconv.Atoi(os.Args[1])
b, _ := strconv.Atoi(os.Args[2])
fmt.Println(Sum(a, b))
}
在 main_test.go 我有
package main
import (
"flag"
"fmt"
"testing"
)
func TestMain(t *testing.M) {
args1 := flag.Arg(0)
args2 := flag.Arg(1)
fmt.Print(args1, args2)
os.Args = []string{args1, args2}
t.Run()
}
我正在尝试通过 go test main_test.go -args 1 2 -v 运行 go 测试,但我没有得到正确的输出,任何人都可以指导我如何编写用于测试 main 函数的命令以使其正常运行。