问题标签 [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.
unit-testing - 为什么测试文件不能针对应用文件运行测试?
我正在用 Flask 练习 tdd,有趣的是我的第一个测试文件似乎无法检测到主要的 flask_app 文件:
test_basics.py:
我创建setup.py
了根目录,因此将其视为项目目录:
项目结构:
我需要做什么才能使测试可以针对主要的 flask_app.py 文件运行?
python tests/test_basics.py
返回:
ModuleNotFoundError: No module named 'flask_app'
flask - Flask App 无法在 Gtihub Action 上运行单元测试
1.目前,我正在构建一个烧瓶应用程序,并且我还为单元测试做了一些实现。每次需要运行单元测试时,我都必须连接到端口http://127.0.0.1:5000/。然后使用命令 $pytest 打开另一个终端以运行单元测试。由于后端服务器运行时我无法输入命令,这就是我打开另一个终端的原因。运行 uni test 后,我可以成功获得测试结果。但是,当我尝试在 GitHub 操作上运行单元测试时,它会在运行服务器步骤停止。如果我不运行后端服务器,我将收到错误消息
/usr/local/lib/python3.9/site-packages/urllib3/util/retry.py:574:MaxRetryError
在处理上述异常的过程中,又出现了一个异常:
2.这是我在 Github Action 上的 .yml 文件中的代码。每次我推拉代码时,它都会运行这个脚本。然后我安装所有必要的依赖项并更改目录以运行后端服务器(我必须运行服务器才能进行测试)。但是,运行服务器http://127.0.0.1:5000/后,Github Hub Action 将停止。$pytest 不会被执行。我想知道如何解决这个问题,github 操作上是否有任何命令可以打开新终端并运行代码?我真的在努力解决这个问题。
这是我的单元测试代码:
unit-testing - WrapperTestResponse' 对象没有属性 'text'
- 目前我正在为我的烧瓶项目编写一个联合测试。我写了一个函数来测试登录功能。当我运行单元测试时,它显示了一些错误消息。
失败 unit_test.py::TestClass::test_login - AttributeError: 'WrapperTestResponse' 对象没有属性 'text'
2.这是我的单元测试实现代码,我可以成功获取状态码但不能获取文本。我犯了一些错误吗?
flask - 如何使用 unittest 针对异常运行断言?
我正在对令牌创建进行单元测试(想想 PyJWT),我需要测试过期令牌是否引发异常:
正确引发异常:
但测试运行器给出错误:
test_invalid_logout_expired_token (test_auth.TestAuthBlueprint) ... ERROR
什么是正确的方法?
更新:
用户等级:
替换data
为User.decode_auth_token()
。
sqlalchemy - 如何使用反射数据库测试 SQLAlchemy
由于我的烧瓶应用程序不应该在我的数据库中写入任何内容,因此我设置了 Flask-SQLAlchemy 以反映我的数据库。这样,当我更改架构时,我不必更改模型:
这一切都很好,花花公子。但是现在,我想使用 unittest 来实现测试。但我找不到任何应该如何工作的东西?我习惯于制作一个新的 sqlite 数据库来测试,但我没有任何模型可以在那里编写。这里的标准程序是什么?你把所有东西都复制到sqlite吗?如果是这样,怎么做?
sqlalchemy - 在创建应用程序之前导入反射的 Flask-SQLAlchemy 模块
这是这个问题的延续。
由于我的烧瓶应用程序不应该在我的数据库中写入任何内容,因此我设置了 Flask-SQLAlchemy 以反映我的数据库。这样,当我更改架构时,我不必更改模型:
但是现在,如果我必须在创建应用程序之前导入模型,我会遇到错误,因为尚未设置元数据。这是一个测试时的问题,例如:
导入时会引发此KeyError: 'data'
问题,因为在函数运行之前未正确设置元数据。__table__ = db.Model.metadata.tables['data']
app.models
create_app()
flask-wtforms - Flask wtf 表单未填充使用 Flask-Testing 包在烧瓶单元测试中传递的表单数据字典
如何使用 Flask-flask_testing 和 flask_wtf 包在 post 请求中发送表单数据?
这是我的 FlaskForm 模型和测试函数:
这是我的路线的一部分:
路线的打印输出是:
和
为什么 BusinessTripProcessingForm 看不到离开时间和返回时间的传递值?
此测试的测试配置是:
flask - 如何覆盖 Flask 测试客户端的基本 url?
我想测试托管在不同机器上的烧瓶应用程序(例如 - 登台机器以验证是否所有 api 单元测试都通过了),我可以覆盖烧瓶测试客户端中的烧瓶基础 url 吗?
目前所有测试都在 DEV 本地机器上运行。
这里烧瓶测试客户端self.client.post('/customer' ... )
使用本地机器生成最终 URL,但我想传递自定义基本 url,以便最终 url 看起来像这样http://192.168.12.8/customer
。
请建议一种使用自定义基本 url 运行测试的方法。
python - 单元测试气流插件
我有一个气流实例,并创建了一些烧瓶 API 作为插件。我想知道是否有任何方法可以在不依赖 Airflow 的情况下为这些 API 运行一些单元测试?
在这种情况下,您如何测试upload_file
例如?非常感谢您对此的任何帮助,我是烧瓶的新手。