gpt4 book ai didi

python - 寻找 assertURLEquals

转载 作者:太空宇宙 更新时间:2023-11-03 11:33:06 29 4
gpt4 key购买 nike

在单元测试期间,我想将生成的 URL 与测试中定义的静态 URL 进行比较。对于此比较,最好有一个 TestCase.assertURLEqual 或类似的,它可以让您比较两个字符串格式的 URL,如果所有查询和片段组件都存在且相等但不一定按顺序,则结果为 True。

在我自己实现之前,这个功能已经存在了吗?

最佳答案

我不知道是否有内置的东西,但您可以简单地使用 urlparse 并自行检查查询参数,因为默认情况下会考虑顺序。

>>> import urlparse
>>> url1 = 'http://google.com/?a=1&b=2'
>>> url2 = 'http://google.com/?b=2&a=1'
>>> # parse url ignoring query params order
... def parse_url(url):
... u = urlparse.urlparse(url)
... q = u.query
... u = urlparse.urlparse(u.geturl().replace(q, ''))
... return (u, urlparse.parse_qs(q))
...
>>> parse_url(url1)
(ParseResult(scheme='http', netloc='google.com', path='/', params='', query='', fragment=''), {'a': ['1'], 'b': ['2']})
>>> def assert_url_equals(url1, url2):
... return parse_url(url1) == parse_url(url1)
...
>>> assert_url_equals(url1, url2)
True

关于python - 寻找 assertURLEquals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13076506/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com