我用一些全局变量在VSCode上运行Golang测试,这些变量在到达测试函数之前被初始化。
程序中的全局变量从启动时指定的运行行参数中获取值。
由于某些原因,当我运行测试时,我有与启动中指定的参数不同的参数。json文件。
这些是我的启动文件的内容:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch file",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${file}",
"args": [".", "from", "to", "csv", "hl7"]
}
]
}
这些是我经常得到的不同值:
os.Args[0] = //path to the __debug_bin.exe
os.Args[1] = "-test.run"
os.Args[2] = "^TestInit$"
在我的启动。我在json文件中总共有6个参数,这导致我在尝试运行测试时出现越界错误。
所以我的问题是如何改变它,使测试运行与我在启动文件中指定的参数?
codelens目前不支持此功能,请查看这里codelens:一种使用选定启动的方法。运行测试中的Json配置| debug
但是你可以这样做
- setup
"go.testFlags": ["-v", "-args", "from", "to", "csv", "hl7"]
在用户设置(文件路径)"Code user settings.json">
你可以像这样检查
t.Log(os.Args[3])
t.Log(os.Args[4])
…