标签: python multithreading testing pytest
我的多线程应用程序遇到了一个错误,主线程的任何异常终止(例如,未捕获的异常或某些信号)导致其他一个线程上的死锁,并阻止进程干净地退出。我修复了这个问题,但我想添加一个测试来防止回归。
但是,我无法弄清楚如何在pytest中模拟异常终止。
如果我只是在测试中引发异常,则异常终止被完美地模拟,但是当然pytest报告错误,即使一切都按预期工作。
另一方面,如果我用pytest.raises上下文管理器围绕引发异常,则主线程不会因为pytest捕获异常而异常终止。
pytest.raises