相关疑难解决方法(0)

如何设置sys.argv以便对其进行单元测试?

我想设置

sys.argv
Run Code Online (Sandbox Code Playgroud)

所以我可以用不同的组合进行单元测试.以下不起作用:

#!/usr/bin/env python
import argparse, sys
def test_parse_args():
    global sys.argv
    sys.argv = ["prog", "-f", "/home/fenton/project/setup.py"]
    setup = get_setup_file()
    assert setup == "/home/fenton/project/setup.py"
def get_setup_file():
    parser = argparse.ArgumentParser()
    parser.add_argument('-f')
    args = parser.parse_args()
    return args.file
if __name__ == '__main__':
    test_parse_args()
Run Code Online (Sandbox Code Playgroud)

然后运行文件:

pscripts % ./test.py                                                                                           
  File "./test.py", line 4
    global sys.argv
              ^
SyntaxError: invalid syntax
pscripts %  
Run Code Online (Sandbox Code Playgroud)

python

50
推荐指数
5
解决办法
4万
查看次数

标签 统计

python ×1