我正试图在vs代码上配置一个调试器,以在go中进行一些测试.我必须给它传递一些标志,但它工作不好.
主要的go
package main
import (
"flag"
"fmt"
)
func DoTheThing() {
flag1Ptr := flag.Bool("flag1", false, "flag1 is a flag")
flag.Parse()
fmt.Println(*flag1Ptr)
fmt.Println("Hello, world")
}
func main() {
DoTheThing()
}
main_测试.go
package main
import "testing"
func TestDoTheThing(t *testing.T) {
DoTheThing()
}
emits json
{
"name": "Launch app",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
"args": [
"-flag1"
]
},
{
"name": "Run Tests",
"type": "go",
"request": "launch",
"mode": "test",
"program": "${workspaceFolder}",
"args": [
"--", "-flag1"
]
}
如果我用Launch app config运行它,它会以正确的方式传递值,但使用测试它不会设置参数
使用启动应用程序配置输出
true
Hello, world
使用运行测试配置输出
false
Hello, world