【发布时间】:2017-05-04 19:31:54
【问题描述】:
我们正在为我们的集成测试调整 pytest,并尝试使用 pytest 固定装置使用单独的线程生成一些后台测试环境监控。
当我们使用夹具时,监视器线程在启动时启动没有问题,但是如果一个后台监视器线程检测到问题,我还没有找到一种方法让 pytest 使主测试失败。
有没有人知道在 pytest 中完成此任务的好方法?我们可以在主 pytest 线程中使用任何钩子来捕获在我们的一个后台监视器线程中调用的 pytest.fail 吗?
谢谢!
【问题讨论】:
-
如果有人需要答案,我们找到了一个很好的解决方案。我们基本上有一个夹具,其中包含一个 exception_handler 类,该类被传递给所有进行后台监控的夹具。还有另一个 autouse 夹具也继承了 exception_handler 并在每个测试函数之前和之后检查错误。
-
@KeirJackson 请发布您的解决方案作为答案。
-
如果能在此处发布示例解决方案会很棒...我无法通过搜索找到任何内容
"exception_handler" pytest
标签: python multithreading integration-testing pytest