回应与假设

2024-10-03 23:24:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一些测试,看看我对来自请求的一些JSON响应的处理是否正确。我使用假设来生成一堆URL,然后响应模拟对这些URL的传出请求。但是,在执行此操作时,相同url的给定测试可能在0.1ms到6000+ms之间

我试过只运行一两个链接,似乎没有问题。然而,如果使用假设,运行需要永远,但链接的生成并不是慢下来的地方,而是慢下来的地方回复.添加()区域。如果设置了@settings(deadline=None),代码将通过。你知道吗

@given(match_strats.valid_http_links())
@responses.activate
def test_json_retrival_returns_valid(l):
    responses.add(respones.GET, l, status=200, json={'resp': 'valid'}, match_querystring=True)
    res = _json_retrival(l)

    assert res['resp'] == 'valid'
def valid_http_links():
    return strategies.from_regex(r'(http[s]?:\/\/)[a-z]+(\.com\/)\w*', fullmatch=True)

我希望测试的运行时对于相同的url是一致的。但由于不是这样,我认为这是一个问题,如何回应包与一些网址的工作和时间是随机的。你知道吗


Tags: jsontruehttpurl链接defmatch地方