def test_timeout_connect():
with pytest.raises(minus_one_rpc.TimeoutExpired):
c = minus_one_rpc.Client("tcp://localhost:14247", recv_timeout = 100)
没有pytest.raises(…),我得到了一个带有预期异常的Failed测试.但是,当我尝试测试正确的异常时,py.test会在该测试中挂起.
在这个特定的测试中没有涉及固定装置,但它似乎与拆卸有关,因为当我按下Ctrl-C时,测试报告为SUCCESS!
test_minus_one_rpc.py::test_timeout_connect ^CPASSED
================================================== 27 tests deselected ==================================================
======================================== 1 passed, 27 deselected in 3.02 seconds ========================================
可能是什么原因?
解决方法:
我的结论是,当我不期望/捕获异常时,exc_info将保留对对象的引用,防止析构函数运行.
(在我的情况下,我使用pyzmq超时,但没有设置LINGER套接字选项,因此pyzmq套接字的破坏将等待不存在的远程端发送内容.)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。