有没有办法在“测试”中获取命令行参数,
当你调用go test
显然你main
没有运行时,有没有办法处理命令行参数,
一种方法是使用flags
包并检查每个测试或正在测试的函数中的命令行参数,但这并不理想,因为您需要在很多地方执行此操作,这与您只是在main
当您运行应用程序时。
有人可能会认为这是错误的做法,并且违反了单元测试的纯洁性:
- 并非所有测试都是单元测试
- 不依赖“ENV”变量并实际在命令行中将这些东西作为参数传递是非常有用的,
作为记录,我最终init()
在我的一个文件中放置了一个函数_test
,并设置了在以这种方式调用 main 时通过标志设置的变量。