Kei*_*son 6 python multithreading integration-testing pytest
我们正在为我们的集成测试调整pytest,并尝试使用pytest fixture来使用单独的线程生成一些后台测试环境监视.
当我们使用fixture时,监视器线程在启动时没有启动问题,但是如果其中一个后台监视器线程检测到问题,我还没有找到pytest使主测试失败的方法.
有谁知道在pytest中实现这个的好方法?是否有任何钩子我们可以在主pytest线程中使用钩子来捕获在我们的一个后台监视器线程中调用的pytest.fail?
谢谢!
为了供将来参考,这是我使用的解决方案:
https://gist.github.com/sbrugman/59b3535ebcd5aa0e2598293cfa58b6ab
我们包装某些部分threading.Thread来传播异常。请注意,当您有权访问生成线程的位置时,这才有效。