跳转到主要内容

一组pytest插件,用于测试Flask应用程序。

项目描述

pytest-flask

PyPi version conda-forge version CI status PyPi downloads Documentation status Maintenance GitHub last commit GitHub closed pull requests GitHub closed issues PyPI - Downloads Code size License Issues style

pytest测试运行器的扩展,它提供了一组有用的工具,以简化Flask扩展和应用程序的测试和开发。

要查看扩展功能和示例的更详细列表,请访问PyPI概述页面或包文档

如何开始?

以下是一个在myapp.py中使用的最小flask 应用程序工厂示例

from flask import Flask

def create_app():
   # create a minimal app
   app = Flask(__name__)

   # simple hello world view
   @app.route('/hello')
   def hello():
      return 'Hello, World!'

   return app

您首先需要在conftest.py中定义您的应用程序固定项

from myapp import create_app

@pytest.fixture
def app():
    app = create_app()
    return app

最后,安装扩展及其依赖项,并运行您的测试套件

$ pip install pytest-flask
$ pytest

贡献

对于任何错误或建议,请毫不犹豫地创建一个GitHub issue。更多信息请查看我们的贡献指南

变更日志

1.3.0 (2023-10-23)

  • 修复与Flask 3.0的兼容性问题——结果是移除了已弃用且不兼容的request_ctx

1.2.1

  • 修复了在:meth:pytest_flask.fixtures.live_server中存在的bug,其中由于original_server_name默认为“localhost”,导致SESSION_COOKIE_DOMAIN被设置为false。新的默认值是“localhost.localdomain”。

  • 停止支持python 3.6和3.5

1.2.0 (2021-02-26)

  • 移除了已弃用的:meth:live_server.url

  • fixture request_ctx 现已弃用,将来将被移除

  • JSONReponse.json 已被移除,改为使用 Werkzeug.wrappers.Response.json

1.1.0 (2020-11-08)

  • 加速了实时服务器的启动时间。使用 socket 而不是服务器拉取(#58)来检查服务器可用性,并添加了新的 --live-server-wait 选项来设置实时服务器的等待超时。感谢 @jadkik

1.0.0 (2020-03-03)

重要

  • live_server 现在默认为 session 范围。这可以通过在您的 pytest.ini 中使用 live-server_scope 选项来更改(#113)。感谢 @havok2063 提供的初始补丁和 @TWood67 完成的补丁。

  • 现在需要pytest 5.2或更高版本。

  • 不再支持Python 2.7和3.4。

0.15.1 (2020-02-03)

  • 修复了与Werkzeug 1.0.0rc1ImportError#105)。

0.15.0 (2019-05-13)

  • 正确注册了 options 标记(#97)。

0.14.0 (2018-10-15)

  • 新增了 --live-server-host 命令行选项,用于设置 live_server fixture 使用的主机名。

    感谢 @o1da 提供的PR(#90)。

0.13.0 (2018-09-29)

  • JSONReponse 现在可以直接与状态码进行比较

    assert client.get('invalid-route', headers=[('Accept', 'application/json')]) == 404

    感谢 @dusktreader 提供的PR(#86)。

0.12.0 (2018-09-06)

  • pytest-flask 现在需要 pytest>=3.6#84)。

  • 添加了新的 --live-server-port 选项,用于选择实时服务器将使用的端口号(#82)。感谢 @RazerM 提供的PR。

  • 现在 live_server 将通过发出 SIGINT 信号并等待5秒来干净地尝试停止服务器。如果5秒后服务器仍在运行,它将被强制终止。可以通过在命令行中传递 --no-live-server-clean-stop 来更改此行为(#49)。感谢 @jadkik 提供的PR。

  • 内部修复使pytest警告更加静默,现在在 pytest-3.8.0 中更加明显(#84)。

0.11.0(与0.10.0相比)

  • 实现了使用Travis进行部署,与其他许多pytest插件保持一致。

  • 允许实时服务器处理并发请求(#56),感谢 @mattwbarry 提供的PR。

  • 修复指向pytest文档的断链(#50),感谢 @jineshpaloor 提交的PR。

  • 支持Tox(#48),感谢 @steenzout 提交的PR。

  • LICENSE文件添加到发行版中(#43),感谢 @danstender

  • 在文档中进行了一些微小的排版改进。

  • 将变更日志添加到文档中。

0.10.0(与0.9.0比较)

  • 添加--start-live-server/--no-start-live-server选项以防止自动启动实时服务器(#36),感谢 @EliRibble

  • 修复文档中的标题格式。

0.9.0(与0.8.1比较)

  • 重命名用于传递应用选项的标记,例如pytest.mark.app现在是pytest.mark.options#35)。

  • 文档徽章指向包文档。

  • 添加Travis CI配置以确保在支持的环境中通过测试(#32)。

0.8.1

  • 文档中的微小变化。

0.8.0

  • 新增request_ctx固定装置,其中包含所有请求相关信息(#29)。

0.7.5

  • 使用pytest monkeypath固定装置来拆卸应用配置(#27)。

0.7.4

  • 更好的测试覆盖率,例如对可用固定装置和标记的测试。

0.7.3

  • 在文档中使用视网膜兼容徽章(#21)。

0.7.2

  • 使用pytest monkeypatch固定装置重写实时服务器名称。

0.7.1

0.7.0

  • 添加包文档(#20)。

0.6.3

  • 在README中使用reST格式改进文档(#18),感谢 @greedo

0.6.2

  • 在启动应用实时服务器之前释放随机端口(#17),感谢 @davehunt

0.6.1

  • 将实时服务器绑定到随机端口而不是5000或命令行上传递的任何端口,以便可以通过pytest-dev/pytest-xdist并行执行测试(#15)。感谢 @davehunt

  • 移除--liveserver-port选项。

0.6.0

  • 修复--liveserver-port选项的帮助中的拼写错误,感谢 @svenstaro

0.5.0

  • 添加live_server固定装置以在后台运行应用程序(#11),感谢 @svenstaro

0.4.0

  • 添加用于基于类测试的client_class固定装置。

0.3.4

  • 将包需求包含在发行版中(#8)。

0.3.3

  • 显式锁定包依赖及其版本。

0.3.2

  • 使用codecs模块打开文件以防止打开包含非ascii字符的文件时可能出现的错误。

0.3.1

PyPI上的首次发布。

MIT许可(MIT)

版权所有 © 2014–2016 Vital Kudzelka 及贡献者。

本软件及其相关文档文件(以下简称“软件”)的副本(任何获得副本的个人)获得免费许可,可以不受限制地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许提供软件的个人进行此类操作,但须遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的还是基于商销性、特定用途适用性或非侵权性等保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论是否因合同行为、侵权或其他原因产生,无论是否与软件或其使用或以其他方式与软件相关联。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

pytest-flask-1.3.0.tar.gz (35.8 kB 查看哈希值)

上传时间

构建分发

pytest_flask-1.3.0-py3-none-any.whl (13.1 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面