如何解决vcrpy 的 record_mode=None 是否保证即使请求是在线程中发出的也不发送 HTTP 请求?
我正在使用 pytest 测试一些代码并使用 vcrpy 装饰器,如下所示:
@pytest.mark.vcr(record_mode='none')
def test_something():
make_requests_in_a_thread_and_save_to_queue()
logged_responses = log_responses_from_queue_in_a_thread()
assert logged_responses == expected_logged_responses
测试失败,因为 logged_responses
是新响应,这是在 test_something()
期间发出的新 HTTP 请求的结果。
我有一个盒式磁带保存在正确的位置,但这可能无关紧要,因为即使我没有,我也应该得到 vcrpy CassetteError 而不是失败的测试。
record_mode='none' 是否不适用于线程内执行的代码?
如果没有,我应该如何解决测试问题?谢谢!
解决方法
我发现了问题所在。我使用的是流 API 而不是发送 http 请求。 record_mode='none'
指的是 http 请求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。