如何解决Windows 上的 pytest 超时失败测试
在 pytest 中,我可以使用 pytest-timeout 为测试指定超时,但它会终止测试运行而不是失败的测试。 有使用信号的现有解决方案,但它仅适用于 Unix 系统。 超时后是否有可能在不使用 SIGALRM 的情况下使功能失败。 使用 conftest.py 运行一个很简单,例如添加
@pytest.hookimpl(hookwrapper=True)
def pytest_runtest_protocol(item,nextitem):
if item.config.option.timeout is not None:
t = Timer(item.config.option.timeout)
try:
t.start()
yield
finally:
t.stop
但是我怎么能在另一个线程中使用计时器来测试失败呢? 我想尝试从这个线程发送 pytest.fail 到主线程,但似乎不可能。 引发异常也会影响这个新线程,但不会影响测试。 有没有办法做到这一点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。