首页 > 解决方案 > 如何在 pytest 中发送 http 请求”

问题描述

我正在尝试测试 Flask 应用程序。我想向我的端点发送一个 http 请求以检查数据库是否已更改。

我在 Linux ubuntu 19.4 上使用 pytest。

from unittest import TestCase
import requests

class TestUser(TestCase):
    def test_create_account(self):
        #doesn't matter

当我尝试使用 运行它时pytest,它会崩溃。

这是我得到的错误:


=========================================== ERRORS ===========================================
_____________________________ ERROR collecting test/test_user.py _____________________________
ImportError while importing test module '/home/rahimi0151/Desktop/cetia_api/cetia_api/test/test_user.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
test/test_user.py:2: in <module>
    import requests
E   ImportError: No module named requests
!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!
================================== 1 error in 0.08 seconds ===================================

当我尝试安装请求时,会发生以下情况:

Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (2.22.0)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python3/dist-packages (from requests) (3.0.4)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/lib/python3/dist-packages (from requests) (2.6)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/lib/python3/dist-packages (from requests) (1.24.1)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests) (2018.8.24)

我什至尝试使用sudoand --upgrade(我已经在 StackOverflow 的其他线程上阅读过它们)但它们都不起作用。

我应该怎么办?

标签: flaskpython-requestshttprequestpytest

解决方案


推荐阅读