我正在嘗試在 vs-code 上配置調試器以進行一些測試。我必須向它傳遞一些標志,但效果不佳。主程序package mainimport ( "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_test.gopackage mainimport "testing"func TestDoTheThing(t *testing.T) { DoTheThing()}啟動.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 運行它,它會以正確的方式傳遞值,但使用測試時它不會設置參數使用 Launch app config 輸出trueHello, world使用運行測試配置輸出falseHello, world
1 回答

森林海
TA貢獻2011條經驗 獲得超2個贊
package main
import (
"flag"
"fmt"
)
var flag1Ptr *bool
func init(){
flag1Ptr = flag.Bool("flag1", false, "flag1 is a flag")
}
func DoTheThing() {
flag.Parse()
fmt.Println(*flag1Ptr)
fmt.Println("Hello, world")
}
func main() {
DoTheThing()
}
啟動.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"]
}
- 1 回答
- 0 關注
- 99 瀏覽
添加回答
舉報
0/150
提交
取消