是否有设置 golang 单元测试参数的最佳实践?
Posted
技术标签:
【中文标题】是否有设置 golang 单元测试参数的最佳实践?【英文标题】:Is there a best practice to setup golang unit test parameters? 【发布时间】:2022-01-12 04:13:27 【问题描述】:我的单元测试需要一个远程服务器地址来启动。服务器地址不固定。
如果我将地址放在我的 .go 测试源中,我会在每次运行时更改它们。
如果我将它们放在系统环境变量中,在 VSCode GUI 中更改它非常不方便。 (我的意思是我将在 VSCode 菜单中开始测试。)
我知道我可以在运行或调试我的程序之前将环境变量放在 launch.json 中进行设置。但在这里我只想运行单元测试。
有没有不重启VSCode的情况下更改参数的好方法?
【问题讨论】:
【参考方案1】:您可以将以下 sn-ps 添加到 VSCode settings.json
以指定仅用于 go test
运行的环境变量:
直接定义变量:
"go.testEnvVars":
"MY_VAR": "my value"
,
或者使用包含MY_VAR="my value"
格式的环境变量的专用文件(在我的示例中称为test.env
,在项目工作区的根目录中),每行一个变量:
"go.testEnvFile": "$workspaceFolder/test.env",
还要注意,单元测试(顾名思义,它们测试一个代码单元)通常不应依赖于任何外部服务或资源。除了被测逻辑之外的所有东西都应该以模拟的形式提供。
【讨论】:
非常感谢,它有效。以上是关于是否有设置 golang 单元测试参数的最佳实践?的主要内容,如果未能解决你的问题,请参考以下文章