使用命令行参数对Python进行单元测试?

时间:2014-02-09 18:33:42

标签: python unit-testing

我正在对我拥有的应用进行单元测试,但我没有在应用中使用任何功能。它只使用命令行参数来知道该怎么做。导入unittest的通用设置是什么?我对Python很陌生,试图在这里抓住它。

示例,我的代码可能有“app.py configure alpha”,“app.py configure beta”,“app.py info alpha”等命令 - 但我不完全确定如何在单元测试器中引用它

1 个答案:

答案 0 :(得分:2)

如果您的程序没有函数或类,它没有单位,因此,单元测试不适用于它。如果你引入如下的分离,那么测试和维护应用程序会变得容易得多:

def configure(version):
    # do configure things

def info(version):
    # display info

def main(args):
    cmd, version = args[1:]  # add size checking
    if cmd == 'configure':
        configure(version)  
    elif cmd == 'info':
        info(version)

if __name__ == '__main__':
    main(sys.argv)

现在,您可以单独为configure()info()编写单元测试。