问题标签 [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 回答
326 浏览

python - 烧瓶测试不断失败

所以我有网络应用程序,如果用户登录,他就无法注册。取而代之的是,他被重定向,并显示一条消息说他无法注册。

问题是由于某种原因我无法对其进行测试。

这是视图

现在在我的测试模块中我有这个方法

更令人困惑的是,这种结构适用于其他方法

编辑:这是登录视图

这是错误(我正在使用 py.test fyi)

这是为了在我的所有模板中显示闪现的消息(它在我继承的“base.html”中)

我使用闪烁的消息进行了更多测试,并且效果很好。像这个用于测试用户注册

0 投票
0 回答
397 浏览

python - 内存中的 Peewee Flask 测试 API

我想在内存中使用 Flask + Werkzeug + SQLite 测试我的应用程序 API。

该应用程序是使用应用程序工厂模式配置的,如下所示:

在我使用的测试中:

在 ' config.test ' 文件中有变量 DATABASE。

在 ***** 我在数据库中注册数据

并在### 中断言我的测试。

当我使用DATABASE = 'sqlite:///test.db'时工作正常,但是当更改为 DATABASE = ' sqlite:///:memory:'时出现错误。

有什么想法可以解决这个问题吗?

谢了。

0 投票
2 回答
8207 浏览

python - Flask 使用自定义标头测试 put 请求

我正在尝试使用烧瓶测试客户端在我的 Flask 应用程序中测试 PUT 请求。一切对我来说都很好,但我不断收到 400 BAD 请求。

我使用 POSTMAN 尝试了相同的请求,我得到了响应。

这是代码

输出

0 投票
2 回答
3399 浏览

python - Flask 测试 create_app 没有返回应用程序?

我现在正在我的烧瓶项目中设置单元测试。我的测试文件如下:

当我运行这些测试时,assertTemplateUsed不返回模板并且response.status_code是 404。我想这是因为 self 实际上不是我的应用程序出于某种原因?当我运行应用程序时,根地址肯定会返回 index.html。

我设置create_app错了吗?任何帮助表示赞赏。

0 投票
0 回答
283 浏览

python - flask_testing AssertionError:existing 端点函数

当我编写一些使用flask_test的测试用例时,它将运行异常,如下所示:AssertionError: View function mapping is overwriting an existing endpoint function: project

调试的时候发现create_app会调用很多次,运行第二次的时候出现except。</p>

这是我的代码:

例外:

像这样改代码,就可以了:</p>

0 投票
0 回答
423 浏览

python - 无法使用烧瓶测试在烧瓶应用程序上测试登录功能

我有一个 Flask 应用程序,我正在编写使用 Flask 测试的测试。我运行应用程序和登录/注销没有问题,但是为登录功能编写测试适得其反。我收到以下错误:“异常:没有为此 LoginManager 安装 user_loader。使用 'LoginManager.user_loader' 装饰器添加一个。” 但是,我在 User 模型中定义了一个 user_loader 装饰器(参见这个flask-login 示例)。知道有什么问题吗?

我的代码是:

models.py 中的用户模型:

初始化.py:

测试.py

0 投票
1 回答
1221 浏览

python - 当烧瓶服务器运行另一个线程时,Pytest 挂起

我正在使用 Python3、Flask 0.12 和 Pytest 3.0.7。

我有一个类似这样的烧瓶应用程序:

我正在尝试使用 pytest 测试此应用程序,如下所示:

当我使用 运行此测试时pytest,此测试(以及所有其他测试)成功运行,但 pytest 挂起。如何停止正在运行的 pytest 进程(或者可能杀死守护线程)?

0 投票
1 回答
1767 浏览

python - 烧瓶单元测试“未能建立新连接”

我正在为烧瓶应用程序编写单元测试。此应用程序公开 REST 端点并使用 flask_restful 库。

基本上,我的一个端点将向其他端点发出请求并进行一些处理。

通过 pytest 执行测试时,它返回此错误(注意:这在使用 curl 进行基本测试时有效):

这是测试代码:

好吧,也许用 setUp() 启动的烧瓶实例无法线程化......

在应用程序代码上,这是创建问题的代码:

好吧,我只是想从烧瓶中执行一个对 url 的查询......可能,我做错了......

请问你能帮帮我吗?

0 投票
1 回答
813 浏览

python - config.py 中的烧瓶测试配置与基本测试类

我有一个项目,我在其中定义了一个测试配置config.py,但我对以下内容感到困惑:

  1. 很多时候config.py ,教程中都会讨论一个测试配置,比如这个

  2. 使用数据库的实际测试通常在 testclass 中定义的应用程序和数据库上完成(有或没有 Flask-Testing)。此测试设置不使用来自config.py

    例如,请参阅 Flask-SQLAlchemy自己的测试装置或此处 列出的一些链接

有一些关于专门为测试创建测试数据库的建议,例如来自testing-with-sqlalchemy

首先,确保将数据库 URI 设置为生产数据库以外的内容!其次,在每次测试运行时创建和删除表通常是个好主意,以确保干净的测试

没有教程说“您不需要测试配置,在您的基础测试类中进行测试设置”。这是假设的吗?

类中的 Tst 配置config.py和显式测试设置 - 它们是否相互排斥?或者有时你把两者结合起来?

PS这里是一个项目配置列表,没有测试配置。

0 投票
1 回答
963 浏览

python - 会话密钥未从 Flask 测试中修改

我正在为我的 Flask 应用程序构建一个测试,在其中一个测试中需要修改一个会话密钥(它本身是一个值列表),然后检查应用程序行为是否被修改后的密钥内容改变。我正在使用Flask 文档中的一种方法来修改session测试。

这是一个示例代码摘录,用于演示问题(我添加了打印语句,以及它们在测试运行期间打印的内容):

我的应用程序.py

test_my_app.py

我的问题是:

  1. 为什么会这样?
  2. session['list']从测试中修改的正确方法是什么?