gpt4 book ai didi

python - 使用 pytest 正确测试

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:40 24 4
gpt4 key购买 nike

所以我想开始在我的 python 程序中使用 pytest 进行测试。

编辑:我只是想测试响应,因为它似乎是最容易测试的事情。我现在知道有多种方法可以测试响应,但我更希望能够总体掌握构建测试和使用它们。

我首先测试当我使用请求调用页面时是否会发生正确的响应。

像这样:

**main.py**

def get_page(search_url):
page = requests.get(search_url)
return page

url = "https://www.google.com/search?q=weather+results&oq=weather+results&aqs=chrome..69i57.4626j0j1&sourceid=chrome&ie=UTF-8"

get_page(url)

这是我为测试响应而编写的测试代码。这是我编写的第一个测试。

**test_main.py**

from main import get_page

def test_page_response():

test_url = "https://www.google.com/search?q=weather+results&oq=weather+results&aqs=chrome..69i57.4626j0j1&sourceid=chrome&ie=UTF-8"

assert str(get_page(test_url2)) == "<Response [200]>"

我这样做对吗?当我取出 URL 来破坏它并触发测试时,它会向我显示大量文本。当然,这是它的全部荣耀中的错误,但是测试难道不应该让这个更容易阅读和理解什么问题吗?

这让我相信我的处理方式是错误的。

编辑 2: 这是输出:http://pastebin.com/kTgc5bsR

最佳答案

### test_main.py ###

from main import get_page

def test_page_response():
test_url = "https://www.google.com/search?q=weather+results&oq=weather+results&aqs=chrome..69i57.4626j0j1&sourceid=chrome&ie=UTF-8"

response = get_page(test_url2) # get_page() returns a response object
assert response.status_code == 200

# also here reponse.text will contain the html string.
# You can parse it and have more assertions.
# This will be your real test to see if you got search results you expected.

了解有关如何使用 python-requests 的更多信息:

http://docs.python-requests.org/en/master/

您的网址基本上是您的测试输入,您可以修改网址以生成测试。我建议浏览 py.test 基本示例:

http://pytest.org/latest/example/index.html

并且还学习了一般测试的入门知识。

关于python - 使用 pytest 正确测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557339/

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