gpt4 book ai didi

python - Flask 应用程序中的单元测试与功能测试?

转载 作者:行者123 更新时间:2023-11-28 22:49:36 24 4
gpt4 key购买 nike

我正在阅读以下手册:http://flask.pocoo.org/docs/testing/

Flask 具有模拟请求和检查结果的功能。整个应用程序都经过测试,包括数据库。

它与 Python 模块 unittest 配合得很好。但在我看来,这似乎是端到端或功能测试以及其他工具,如 Selenium(带有 Python 绑定(bind))浮现在脑海中。

  1. 单元测试是否仅测试完全隔离的特定模块/功能/类模拟外部资源(数据库、网络、文件)?

  2. 是否可以使用单元测试框架来驱动功能\端到端测试?

最佳答案

Flask 不会妨碍 Python/JavaScript 测试工具。例如,可以处理各种测试(我故意不想将它们命名为单元/功能/验收/集成测试,因为总有人会发现分类错误):

  • 测试简单和/或纯函数或类
  • 作为以前的数据库(例如,SQLAlchemy)(这通常比对 ORM/数据对象使用 mock 更实用和有效,尽管速度较慢)
  • 请求级测试(测试 View /路由)- 没有真正的 HTTP 请求,但非常接近目的
  • 使用真实 HTTP 请求在浏览器中进行测试,包括测试 JavaScript 模块

例如,对于 pytest,它只是一个 conftest.py 文件和 fixture 的问题,它提供 appdb、http 服务器和Selenium 驱动程序(在两个单独的线程中)等。甚至可以通过使用事务回滚而不是通过替换 (monkeypatching) commit 方法重新制作数据库 fixture 来加快某些测试的速度。在测试期间,Flask 可以提供特殊的静态文件夹(通过注册仅测试时间的蓝图)来使用所选的特定于 JavaScript 的测试框架来测试 JavaScript 模块。

我想,其他通用测试框架(我不称它们为单元测试!)也可以通过或多或少的样板代码和夹具组织来做同样的事情。

关于python - Flask 应用程序中的单元测试与功能测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23673271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com