是否可以更改os.Args的值,以便将测试添加到正在创建的CLI中?

时间:2019-02-02 21:59:35

标签: go testing

是否可以在Golang程序中全局更改os.Args的值?我正在编写像Cobra这样的库,只是为了好玩,而在内部,我使用os.Args来解析命令行参数。我想这样做是为了正确测试解析器。

当前,我正在手动更改软件包的内部变量,但这是一个不好的做法。

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为答案对前一个问题How to test the passing of arguments in Golang?介绍了如何在测试过程中修改os.Args。

tomasz指出“ os.Args中的第一个值是可执行文件本身(的路径),因此os.Args = [] string {“ cmd”,“ -user = bla”}问题。您可以从标准软件包中查看flag test,他们正在做类似的事情。”