我编写了一个 python 脚本,它接受命令行参数并播放一轮井字游戏。
运行它看起来像这样......
运行 ttt o#xo##x## x 0 1
如果移动是合法的,那么它会打印新的棋盘布局以及是否有人赢得了比赛
我必须使用 unittest 为它编写测试。我不知道如何使用各种命令行参数测试整个脚本,我看到的所有示例似乎都只是测试脚本中的各个函数。该脚本还argparse
用于解析参数
谢谢!
我编写了一个 python 脚本,它接受命令行参数并播放一轮井字游戏。
运行它看起来像这样......
运行 ttt o#xo##x## x 0 1
如果移动是合法的,那么它会打印新的棋盘布局以及是否有人赢得了比赛
我必须使用 unittest 为它编写测试。我不知道如何使用各种命令行参数测试整个脚本,我看到的所有示例似乎都只是测试脚本中的各个函数。该脚本还argparse
用于解析参数
谢谢!
重构您的程序,使其主要操作(减去 argparsing)发生在“main”函数中:
def main(args):
...
if __name__ == '__main__':
args = parse_args()
main(args)
main
然后您可以为和的行为编写测试parse_args
。
PS。可以使用该subprocess
模块将您的程序作为外部进程调用,然后解析输出,但我认为这会更丑陋且不必要。
聚苯乙烯。以这种方式编写程序的另一个好处是,您可以将程序作为模块导入,并在其他脚本中调用它的 main 函数。例如,如果有一天您想为它构建一个 GUI,这可能会很有用。