使用pytest将URL拼接
时间: 2023-11-23 09:46:11 浏览: 150
假设我们要测试一个URL拼接函数,函数如下:
```python
def url_join(base_url, path):
"""Join a base URL and a path to create a complete URL"""
if not base_url.endswith("/"):
base_url += "/"
if path.startswith("/"):
path = path[1:]
return base_url + path
```
我们可以使用pytest编写如下的测试用例:
```python
import pytest
from url_join import url_join
def test_url_join():
base_url = "https://example.com"
path = "/api/v1/users"
assert url_join(base_url, path) == "https://example.com/api/v1/users"
assert url_join(base_url + "/", path) == "https://example.com/api/v1/users"
assert url_join(base_url, "api/v1/users") == "https://example.com/api/v1/users"
assert url_join(base_url, "") == "https://example.com/"
assert url_join(base_url, "/") == "https://example.com/"
```
在上面的测试用例中,我们测试了多种情况,包括base_url和path的不同组合,以及base_url和path的结尾是否包含斜杠。我们使用assert语句检查函数的返回值是否与我们期望的值相等。如果所有的assert语句都通过了,那么测试就通过了。
要运行这个测试用例,可以在终端中运行以下命令:
```
pytest test_url_join.py
```
如果所有的测试都通过了,那么pytest将输出一些类似于以下内容的信息:
```
============================= test session starts ==============================
platform linux -- Python 3.8.2, pytest-5.4.3, py-1.9.0, pluggy-0.13.1
rootdir: /path/to/project
collected 1 item
test_url_join.py . [100%]
============================== 1 passed in 0.01s ===============================
```
阅读全文