如何排除程序启动代码 (__name__ == "__main__") 不包含在 pytest 覆盖率报告中?
How to exclude the program startup code (__name__ == "__main__") from being included in pytest coverage reports?
我们的项目中有几个带有一些命令行参数的小脚本。例如:
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--branch")
command_line_args = parser.parse_args()
if not command_line_args.branch:
raise Exception
main(command_line_args.branch)
我们对单元测试并不感兴趣。但是,这会影响我们的覆盖率报告,有没有办法使用 pytest 从单元测试中排除 if __name__ == "__main__"
?
您可以添加评论,如下所示:
if __name__ == "__main__": # pragma: no cover
parser = argparse.ArgumentParser()
...
我们的项目中有几个带有一些命令行参数的小脚本。例如:
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--branch")
command_line_args = parser.parse_args()
if not command_line_args.branch:
raise Exception
main(command_line_args.branch)
我们对单元测试并不感兴趣。但是,这会影响我们的覆盖率报告,有没有办法使用 pytest 从单元测试中排除 if __name__ == "__main__"
?
您可以添加评论,如下所示:
if __name__ == "__main__": # pragma: no cover
parser = argparse.ArgumentParser()
...