问题标签 [flask-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
119 浏览

flask - 我不知道为什么在每个测试函数中都会调用 create_app

我使用 flask_testing 编写测试代码

以下是我的测试代码

在调试测试代码的时候,发现所有的测试函数都调用了create_app,包括test1、test。

我怎样才能只调用一次 create_app 函数?

0 投票
3 回答
4219 浏览

python - 使用 FlaskClient 在测试 Flask 应用程序上获取“授权”标头时出现问题

我正在使用 FlaskClient 测试我的 Flask 应用程序,以避免在测试我的应用程序时总是运行 Flask 服务器。

我创建了一个“sign_in”视图,当用户在我的前端成功登录时,它会返回一个带有加密令牌的“Authorization”标头。

此视图在正常环境中正常工作,它正确返回“授权”标头,但是当我在测试环境中测试此视图时,它不返回“授权”标头。视图None在“授权”标头中返回。

我已经在网上尝试了一些解决方案,例如添加self.app.config['TESTING'] = True到我的测试用例中,但是终端出现错误'FlaskClient' object has no attribute 'config',我已经尝试寻找解决方案,但没有成功。

我想知道可能会发生什么。

有谁知道这个问题的任何解决方案?

我将我的代码发送到下面进行分析。

先感谢您。

视图.py

测试.py

0 投票
1 回答
759 浏览

python - 如何正确运行查询 Flask-SQLAlchemy 数据库的连续测试?

我正在使用 SQLAlchemy 作为 ORM 为 Flask 项目设置单元测试。对于我的测试,我需要在每次运行单个单元测试时设置一个新的测试数据库。不知何故,我似乎无法运行查询数据库的连续测试,即使我单独运行这些测试它们也会成功。

我使用该软件包,并在此处flask-testing遵循他们的文档。

这是一个说明问题的工作示例:

app.py:

database.py:

models.py:

test/__init__.py:

test/test_app.py:

所以,如果单独运行,我可以跑得TestApp.test_first很好TestApp.test_second。如果我连续运行它们,第一个测试通过,但第二个测试失败:

数据库设置和拆卸中出了点问题,但我不知道是什么。如何正确设置?

0 投票
1 回答
299 浏览

testing - 无法在 Flask Unitest 中模拟 api 调用内部函数

我无法在 Flask Rest API 测试中模拟 API 调用函数调用。我正在使用 unittest 和 pytest 模块。

代码如下:

rest_api.py

test_rest_api.py

我无法模拟src.recommender.RecommendationTask.execute功能。模拟在直接函数测试中工作得非常好,但在 API 调用中却不行。

PS:通过直接函数调用,我的意思是通过在测试脚本中立即导入和执行它们来测试函数。请帮忙。

0 投票
0 回答
135 浏览

flask-testing - 如何使用 flask_testing 测试 POST 请求

我有在数据库中插入新项目的路线。

如何测试这条路线?我应该检查响应代码是 200 吗?此测试返回 respose_code 200,但我看到该项目尚未插入数据库表中。

这是我的测试脚本

0 投票
1 回答
319 浏览

python-3.x - Flask_testing 为看似正常工作的端点意外返回 404

为我的烧瓶应用程序编写一些单元测试。当我在邮递员中尝试时,端点'/'有效并返回 200,但是 flask_testing 给出AssertionError: 404 != 200

我已经设置了一个基本配置。

这是测试。

测试的输出

0 投票
0 回答
148 浏览

python - AssertionError:视图函数映射正在覆盖现有端点函数:api.users

我正在尝试为我的应用程序编写一个简单的单元测试用例,但它在第一次测试后崩溃并出现错误:

下面是我的测试用例(我使用Flask-Testing):

我没有发布测试,因为它没有任何作用,它总是完成第一个测试并在下一个测试中崩溃。
我试图不断地打电话,但app_context.push()没有帮助,我尝试使用简单的单元测试,但仍然失败。 setUpapp_context.pop()tearDown

问题可能出在哪里?我在我的应用程序中使用了蓝图Flask-RESTful,我应该在关闭应用程序事件时手动解除绑定吗?

0 投票
1 回答
99 浏览

python - 如何使用第三方 http lib 测试 python/flask 应用程序?

我的烧瓶应用程序有一个最纯粹的套件,效果很好。但是,我想测试一些使用第三方库 (Qt) 发送 http 请求的代码。这怎么可能?我看到flask-testing有与live_server一起完成此操作的夹具flask.url_for(),但是在夹具中启动服务器需要太多时间。

有没有更快的方法将 http 请求从第三方 http 库发送到烧瓶应用程序?

谢谢!

0 投票
1 回答
476 浏览

python-3.x - 使用 SQLAlchemy 对 Flask 进行单元测试时遇到问题

我一直在尝试测试我的 Flask 应用程序,但我似乎无法让它工作。

我跟着文档看了一会儿,自己研究了一段时间,最后拼凑出一些东西(下面的代码),但是我的实现总是返回以下错误:

WinError 10061 客户端拒绝连接

无论如何,这是我使用的代码,第一个是测试,后一个是我的应用程序工厂:

./tests/test_api.py

./application/__init__.py

知道我做错了什么吗?
或者,也许有人对我有一些最小的例子,我可以用来构建(文档对我没有太大帮助)。

编辑:在有人问之前,我确实尝试将请求 url 设置为 127.0.0.1:5000/api 和我当前的设备 ipv4 地址。

0 投票
1 回答
325 浏览

python - Flask 测试 - 从蓝图动态测试所有受保护的路由

我想测试来自蓝图的所有路由都受登录所需装饰器的保护。

重点是:如果开发人员添加了一条新路由并忘记添加此装饰器,我希望我的测试能够自动发现该缺陷。

为了做到这一点,我想循环遍历所有路线和方法

如您所见,我必须像这样指定方法(get、post..)app.test_client().get(rule)

有没有更动态的方式来调用这些方法?