标签: go-flag

在go测试中处理命令行参数

有没有办法在"测试"中获取命令行参数,
当你go test显然调用时你main没有运行,那么有没有办法处理命令行参数,

一种方法是使用flags包并检查每个被测试的测试或函数中的命令行参数,但这对于你需要在很多很多地方执行此操作并不理想,这与你在main当您运行该应用程序时.

编辑:主要是向下选民,我想你是在贬低这个问题,因为你认为这是一个错误的事情,并且反对单位测试的纯度,

  1. 并非所有测试都是单元测试
  2. 它非常实用,不依赖于"ENV"变量,实际上将这些东西作为参数传递给命令行,
  3. 请将您的意见放在答案中,以便后代能够受益,

编辑2:为了记录,我最终init()在我的一个_test文件中放置了一个函数,并设置了通过这种方式调用main时通过flags设置的变量.

testing go command-line-arguments go-flag

18
推荐指数
4
解决办法
1万
查看次数

Golang标志:忽略丢失的标志并解析多个重复的标志

我是Golang的新手,我无法使用flag找到解决此问题的方法。

我如何使用标志,以便我的程序可以处理此类调用,其中-term标志的出现次数可能是可变的,包括0次:

./myprogram -f flag1
./myprogram -f flag1 -term t1 -term t2 -term  t3
Run Code Online (Sandbox Code Playgroud)

go go-flag

3
推荐指数
1
解决办法
1397
查看次数

标签 统计

go ×2

go-flag ×2

command-line-arguments ×1

testing ×1