vs代码调试去测试不传递标志

我正在尝试在 vs-code 上配置调试器以进行一些测试。我必须向它传递一些标志,但效果不佳。


主程序


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_test.go


package main


import "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 输出


true

Hello, world

使用运行测试配置输出


false

Hello, world


阿波罗的战车
浏览 79回答 1
1回答

森林海

package mainimport (    "flag"    "fmt")var flag1Ptr *boolfunc 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"]}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go