如何优雅地停止python unittest?

2024-10-01 17:23:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pythonunittest框架来测试外部设备。在这个特定的用例中,我希望python做一个需要几天时间的耐久性测试。(一次测试只需几分钟,但会经常重复。)

在这个场景中,我希望能够优雅地停止测试,并在以后恢复或重新启动它。我可以接受以后重新启动它,但现在我没有办法优雅地停止。在

通过优雅的停止,我设想如下:在按下Ctrl-C时,最后一次测试结束并返回结果。在

有什么内置的方法来实现这一点吗?如果没有,我怎么才能做到呢?在


Tags: 方法框架时间场景用例外部设备内置ctrl
2条回答

我通过仔细查看unittest文档找到了解决方案: 通过拨打:

unittest.installHandler()

为Ctrl-C安装了一个信号处理程序,并且所有的结果:

^{pr2}$

在出现Ctrl-C的情况下将优雅地退出。这正是我需要的。在

{检查^测试。在

Control-C during the test run waits for the current test to end and then reports all the results so far. A second control-C raises the normal KeyboardInterrupt exception.

因此,您可以捕获KeyboardInterrupt异常,以便在报告结果之后将下一个测试放入休眠循环。睡眠循环可以等待下一次按键中止整个测试或继续。在

相关问题 更多 >

    热门问题