有没有办法在"测试"中获取命令行参数,
当你go test
显然调用时你main
没有运行,那么有没有办法处理命令行参数,
一种方法是使用flags
包并检查每个被测试的测试或函数中的命令行参数,但这对于你需要在很多很多地方执行此操作并不理想,这与你在main
当您运行该应用程序时.
编辑:主要是向下选民,我想你是在贬低这个问题,因为你认为这是一个错误的事情,并且反对单位测试的纯度,
编辑2:为了记录,我最终init()
在我的一个_test
文件中放置了一个函数,并设置了通过这种方式调用main时通过flags设置的变量.
我是Golang的新手,我无法使用flag找到解决此问题的方法。
我如何使用标志,以便我的程序可以处理此类调用,其中-term标志的出现次数可能是可变的,包括0次:
./myprogram -f flag1
./myprogram -f flag1 -term t1 -term t2 -term t3
Run Code Online (Sandbox Code Playgroud)