python - pytest 在单独的线程中失败

标签 python multithreading integration-testing pytest

我们正在为我们的集成测试调整 pytest,并尝试使用 pytest 固定装置使用单独的线程生成一些后台测试环境监控。

当我们使用 fixture 时,监视器线程在启动时启动没有问题,但是如果一个后台监视器线程检测到问题,我还没有找到一种方法让 pytest 使主测试失败。

有谁知道在pytest中完成这个的好方法?我们可以在主 pytest 线程中使用任何钩子(Hook)来捕获在我们的一个后台监视器线程中调用的 pytest.fail 吗?

谢谢!

最佳答案

为了将来引用,这是我使用的解决方案:

https://gist.github.com/sbrugman/59b3535ebcd5aa0e2598293cfa58b6ab

我们包装了 threading.Thread 的某些部分传播异常。
请注意,当您可以访问生成线程的位置时,这将起作用。

关于python - pytest 在单独的线程中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43791360/

相关文章:

python - Arduino Yun Python 脚本

python - 具有相同索引的数据帧的两行之间的操作

java - 执行线程是否通过同时执行 wait() 和 join() 进入 "waiting"状态?

Ruby on Rails 中的 JavaScript 集成测试

.net - 是否有管理单元和集成测试的 .net 框架?

python - TKinter网格导致程序无法运行

python - 如何用PIP交叉编译Python包?

java - 为什么我无法通过此套接字发送文本?

c++ - 线程安全的延迟获取和释放

integration-testing - 应用程序无法连接到 localstack SQS